/* =====================================================================
   Конференции.Про — образовательный центр
   Единый style.css темы course (натяжка course-html на WordPress).
   Порядок: @font-face → токены/reset → база → блоки страниц → WooCommerce.
   ===================================================================== */

/* ------------------------- Onest (локально) ------------------------- */
@font-face{
  font-family:'Onest';font-style:normal;font-weight:300 800;font-display:swap;
  src:url('../fonts/onest-cyrillic-ext.woff2') format('woff2');
  unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
@font-face{
  font-family:'Onest';font-style:normal;font-weight:300 800;font-display:swap;
  src:url('../fonts/onest-cyrillic.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'Onest';font-style:normal;font-weight:300 800;font-display:swap;
  src:url('../fonts/onest-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Onest';font-style:normal;font-weight:300 800;font-display:swap;
  src:url('../fonts/onest-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ------------------------- Tokens ------------------------- */
:root{
  --purple:#797CF5;
  --purple-press:#6063d6;
  --purple-12:rgba(121,124,245,.12);
  --purple-14:rgba(121,124,245,.14);
  --green:#00443B;
  --badge:#FFE6B7;
  --blue-pill:rgba(77,118,255,.18);
  --search-bg:rgba(223,230,255,.36);
  --ink:#000;
  --gray:#5F5F5F;
  --gray-2:#7F7F7F;
  --gray-3:#333;
  --line:#CCCCCC;
  --ph:#D9D9D9;
  --white:#fff;
  --adv-grad:linear-gradient(134.155deg,#E0EDFF 5.70%,#FFF0FF 99.07%);
  --shadow-card:0 2px 5.8px 0 rgba(177,177,177,.25);

  --container:1440px;
  --gutter:240px;       /* desktop side margin @1920 */
  --radius-pill:33px;
  --radius-card:15px;
  --radius-lg:22px;
  --header-h:80px;
  --gut:max(24px,calc((100vw - 1440px)/2));

  --ff:'Onest',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
}

/* ------------------------- Reset ------------------------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;overflow-x:hidden;scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--ff);
  font-size:16px;
  line-height:1.3;
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  max-width:100%;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:0;background:none;}
input,textarea,select{font-family:inherit;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4,p{margin:0;}
:focus-visible{outline:2px solid var(--purple);outline-offset:2px;}

/* ------------------------- Layout ------------------------- */
.container{
  width:100%;
  max-width:var(--container);
  margin-inline:auto;
  padding-inline:24px;
}
.section{position:relative;}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
#catalog{scroll-margin-top:calc(var(--header-h) + 12px);}

/* ------------------------- Buttons ------------------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-size:18px;font-weight:400;line-height:1;
  border-radius:var(--radius-pill);
  padding:15px 24px;
  transition:background-color .18s ease,transform .12s ease,box-shadow .18s ease;
  white-space:nowrap;
}
.btn--primary{background:var(--purple);color:var(--white);}
.btn--primary:hover{background:var(--purple-press);}
.btn--primary:active{transform:translateY(1px);}
.btn--block{width:100%;}
.btn--lg{padding:22px 28px;font-size:18px;}

/* ------------------------- Header ------------------------- */
.site-header{
  position:sticky;top:0;z-index:50;
  height:var(--header-h);
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  border-bottom:1px solid rgba(0,0,0,.04);
}
.site-header__inner{
  height:100%;
  display:flex;align-items:center;
  gap:50px;
  min-width:0;
}
.site-logo{flex:0 0 auto;display:flex;align-items:center;}
.site-logo img{width:75px;height:65px;object-fit:contain;}
.main-nav{display:flex;align-items:center;gap:50px;}
.main-nav__list{display:flex;align-items:center;gap:50px;}
.main-nav a,.main-nav__link{font-size:18px;color:var(--ink);white-space:nowrap;transition:color .15s ease;}
.main-nav a:hover,.main-nav__link:hover{color:var(--purple);}
.main-nav__item.is-active>.main-nav__link,.main-nav .current-menu-item>a{color:var(--purple);}
.header-contacts{margin-left:auto;display:flex;align-items:center;gap:46px;}
.header-contact{display:inline-flex;align-items:center;gap:13px;color:var(--green);font-size:16px;white-space:nowrap;}
.header-contact svg{flex:0 0 auto;fill:var(--green);}
.header-login{
  display:flex;flex-direction:column;align-items:center;gap:5px;
  color:var(--green);font-size:14px;
}
.header-login svg{width:22px;height:22px;fill:var(--green);}
.nav-toggle{display:none;}

/* ------------------------- Mobile menu (drawer) ------------------------- */
.mobile-menu{
  position:fixed;top:0;right:0;bottom:0;z-index:70;
  width:min(86vw,360px);
  background:var(--white);
  box-shadow:-8px 0 40px rgba(0,0,0,.16);
  transform:translateX(100%);
  transition:transform .28s ease;
  display:flex;flex-direction:column;gap:8px;
  padding:24px 24px 40px;
  overflow-y:auto;
}
.mobile-menu__backdrop{
  position:fixed;inset:0;z-index:65;
  background:rgba(0,0,0,.42);
  opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease;
}
body.nav-open{overflow:hidden;}
body.nav-open .mobile-menu{transform:none;}
body.nav-open .mobile-menu__backdrop{opacity:1;visibility:visible;}
.mobile-menu__close{align-self:flex-end;width:32px;height:32px;color:var(--green);margin-bottom:8px;}
.mobile-menu__close svg{width:100%;height:100%;}
.mobile-menu .main-nav__list{flex-direction:column;align-items:flex-start;gap:4px;width:100%;}
.mobile-menu__list{display:flex;flex-direction:column;gap:4px;}
.mobile-menu__list a,.mobile-menu .main-nav__link{
  display:block;width:100%;padding:13px 6px;font-size:18px;color:var(--ink);
  border-bottom:1px solid rgba(0,0,0,.06);
}
.mobile-menu__list a:hover{color:var(--purple);}
.mobile-menu__login{margin-top:16px;display:inline-flex;align-items:center;gap:10px;color:var(--green);font-size:16px;}
.mobile-menu__login svg{width:20px;height:20px;fill:var(--green);}
.mobile-menu__contacts{margin-top:18px;display:flex;flex-direction:column;gap:12px;}
.mobile-menu__contacts a{display:inline-flex;align-items:center;gap:10px;color:var(--green);font-size:15px;}
.mobile-menu__contacts svg{flex:0 0 auto;fill:var(--green);}

/* ------------------------- Footer ------------------------- */
.site-footer{
  margin-top:80px;
  background:var(--purple);
  color:var(--white);
  border-radius:55px 55px 0 0;
}
.site-footer__inner{
  display:grid;
  grid-template-columns:1fr 1fr 1.3fr;
  gap:40px;
  padding:42px 0 0;
  position:relative;
}
.footer-col{position:relative;}
.footer-col h3{
  font-size:24px;font-weight:500;line-height:1;
  margin-bottom:30px;text-transform:none;
}
.footer-col ul{display:flex;flex-direction:column;gap:17px;}
.footer-col li,.footer-col a{font-size:16px;line-height:24px;color:var(--white);}
.footer-col a:hover{opacity:.8;}

.footer-bottom{
  display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:40px;
  padding:34px 0 40px;
}
.footer-bottom p{font-size:13px;line-height:19px;color:var(--white);max-width:460px;}
.footer-bottom .footer-policy{grid-column:3;align-self:end;}
.footer-divider{display:none;}

/* ------------------------- Course card (Woo product) ------------------------- */
.products{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}
.product{position:relative;display:flex;flex-direction:column;}
.product__media{
  position:relative;
  aspect-ratio:345/326;
  border-radius:var(--radius-card);
  overflow:hidden;
  background:var(--ph);
}
.product__media img{width:100%;height:100%;object-fit:cover;}
.product__badge{
  position:absolute;left:13px;bottom:14px;
  background:var(--badge);color:var(--ink);
  font-size:13px;line-height:1;
  padding:10px;border-radius:8px;
}
.product__title,.woocommerce-loop-product__title{
  margin-top:11px;font-size:18px;font-weight:500;color:var(--ink);
}
.product .price{
  margin-top:9px;font-size:16px;font-weight:500;color:var(--ink);
}
.product .price del{color:var(--gray-2);font-weight:400;margin-right:8px;}
.product .price ins{text-decoration:none;}

/* ------------------------- Badges / pills ------------------------- */
.badge-special{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--badge);color:var(--ink);font-size:13px;line-height:1;
  padding:10px;border-radius:8px;
}

/* ------------------------- Modal ------------------------- */
.modal-overlay{
  position:fixed;inset:0;z-index:100;
  background:rgba(0,0,0,.45);
  display:none;align-items:flex-start;justify-content:center;
  padding:40px 24px;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.modal-overlay.is-open{display:flex;}
.modal{
  position:relative;
  width:100%;max-width:1010px;
  margin:auto;
  background:var(--white);border-radius:30px;
  padding:54px 110px 64px;
}
.modal__close{
  position:absolute;top:34px;right:38px;
  width:36px;height:36px;color:#9a9a9a;
}
.modal__close svg{width:100%;height:100%;}
.modal__title{
  text-align:center;color:var(--green);
  font-size:32px;font-weight:700;line-height:1.2;
  margin-bottom:40px;
}
.modal .field{margin-bottom:24px;}
.modal__error{
  display:none;margin:0 auto 20px;max-width:420px;text-align:center;
  color:#d23c3c;font-size:15px;line-height:1.4;
}
.modal__error.is-visible{display:block;}

/* ---- Auth modal (Вход / Регистрация) ---- */
.modal--auth{max-width:790px;padding:54px 60px 60px;}
.auth-tabs{display:flex;border-bottom:1px solid #CCCCCC;margin-bottom:40px;}
.auth-tab{
  flex:1;text-align:center;padding:0 0 18px;font-size:18px;color:#000;position:relative;
}
.auth-tab.is-active{font-weight:500;}
.auth-tab.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#000;}
.auth-panel{display:none;}
.auth-panel.is-active{display:block;}
.auth-submit{margin:8px auto 0;display:flex;min-width:270px;}
.auth-forgot{display:block;text-align:center;margin-top:22px;font-size:16px;color:var(--gray-2);}
.auth-forgot:hover{color:var(--purple);}
.modal--auth .form-consent{margin:6px 0 26px;justify-content:center;text-align:center;max-width:420px;margin-left:auto;margin-right:auto;}

/* ------------------------- Form controls ------------------------- */
.field{display:block;}
.field input,.field textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:12px;
  padding:24px 28px;
  font-size:18px;color:var(--ink);
  background:var(--white);
}
.field input::placeholder,.field textarea::placeholder{color:var(--gray-3);}
.field textarea{min-height:135px;resize:vertical;}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--purple);}
.form-consent{
  display:flex;gap:14px;align-items:flex-start;
  margin:6px 0 30px;color:var(--gray-2);font-size:14px;line-height:1.45;
}
.form-consent input{margin-top:2px;width:20px;height:20px;flex:0 0 auto;accent-color:var(--purple);}
.is-busy{opacity:.6;pointer-events:none;}

/* ------------------------- Breadcrumbs ------------------------- */
.breadcrumbs{font-size:16px;color:var(--gray);margin:30px 0;}
.breadcrumbs a:hover{color:var(--purple);}
.course-breadcrumb__list{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;color:#4E4E4E;}
.course-breadcrumb__item{display:flex;align-items:center;gap:8px;}
.course-breadcrumb__item:not(:first-child)::before{content:"/";color:#9a9a9a;}
.course-breadcrumb__link:hover{color:var(--purple);}
.course-breadcrumb__current{color:var(--green);}

/* ------------------------- Section heading ------------------------- */
.section-title{
  font-size:36px;font-weight:700;color:var(--green);line-height:1.1;
}
.section-title--center{text-align:center;}

/* ===================================================================
   ГЛАВНАЯ (home)
   =================================================================== */

/* Hero */
.hero{
  position:relative;
  min-height:820px;
  background:#8fa9c4 url('../img/hero-dna.jpg') center/cover no-repeat;
  overflow:hidden;
}
.hero::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(8,40,66,.34) 0%,rgba(8,40,66,.12) 38%,rgba(8,40,66,0) 64%);
}
.hero__inner{position:relative;z-index:2;padding-top:220px;}
.hero__title{
  font-size:110px;font-weight:700;line-height:1;color:#fff;
  letter-spacing:.5px;
}
.hero__subtitle{
  margin-top:18px;
  font-size:48px;font-weight:500;line-height:1.02;color:#fff;
  max-width:420px;
}
.hero__cta{margin-top:40px;width:405px;max-width:100%;height:70px;font-size:18px;font-weight:500;}

/* Программы обучения */
.catalog{padding-top:108px;}
.catalog__title{text-align:center;font-size:36px;font-weight:500;color:var(--green);}
.catalog__controls{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  margin-top:64px;
}
.pill-group{display:flex;gap:18px;flex-wrap:nowrap;}
.pill{
  display:inline-flex;align-items:center;justify-content:center;
  height:58px;padding:0 30px;border-radius:var(--radius-pill);
  font-size:18px;font-weight:500;color:var(--ink);white-space:nowrap;
  background:var(--blue-pill);transition:.18s;
}
.pill.is-active{background:var(--purple);color:#fff;}
.search-box{
  display:flex;align-items:center;gap:12px;
  width:467px;max-width:48%;height:58px;
  background:var(--search-bg);border-radius:15px;padding:0 26px;
}
.search-box svg{flex:0 0 auto;width:18px;height:18px;stroke:#ADADAD;fill:none;}
.search-box input{border:0;background:none;outline:none;font-size:18px;width:100%;color:var(--ink);}
.search-box input::placeholder{color:var(--ink);}

/* Carousel */
.carousel{position:relative;margin-top:42px;}
.carousel__track{
  display:flex;gap:20px;
  overflow-x:auto;scroll-snap-type:x mandatory;
  padding-bottom:6px;
  scrollbar-width:none;
}
.carousel__track::-webkit-scrollbar{display:none;}
.carousel__track .product{flex:0 0 calc((100% - 60px)/4);scroll-snap-align:start;}
.carousel__next,.carousel__prev{
  position:absolute;top:163px;z-index:3;
  width:56px;height:56px;border-radius:50%;
  background:#fff;box-shadow:var(--shadow-card);
  display:flex;align-items:center;justify-content:center;
  transition:.15s;
}
.carousel__next{right:-28px;}
.carousel__prev{left:-28px;}
.carousel__next.is-hidden,.carousel__prev.is-hidden{display:none;}
.carousel__next:hover,.carousel__prev:hover{transform:scale(1.06);}
.carousel__next svg,.carousel__prev svg{width:9px;height:16px;fill:#000;}
.carousel__empty{padding:40px 0;color:var(--gray);font-size:18px;text-align:center;}

/* Документы */
.documents{padding-top:128px;}
.documents__grid{
  display:grid;grid-template-columns:520px 1fr;gap:73px;align-items:start;
}
.documents__title{font-size:36px;font-weight:700;color:var(--green);line-height:1.1;max-width:520px;}
.doc-cert{
  display:flex;align-items:center;gap:14px;
  background:var(--purple-14);border-radius:15px;
  padding:14px 20px;margin-top:52px;width:428px;max-width:100%;
}
.doc-cert img{width:120px;height:78px;object-fit:contain;}
.doc-cert span{font-size:18px;font-weight:500;line-height:1.28;}
.documents__text{margin-top:34px;font-size:18px;font-weight:500;line-height:1.28;max-width:550px;}
.documents__btn{margin-top:34px;width:265px;height:62px;font-size:18px;}
.documents__media{
  border-radius:22px;overflow:hidden;aspect-ratio:710/484;background:var(--ph);
}
.documents__media img{width:100%;height:100%;object-fit:cover;}

/* Преимущества */
.advantages{padding-top:140px;}
.advantages__title{text-align:center;font-size:36px;font-weight:700;color:var(--green);}
.advantages__grid{
  display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:54px;
}
.adv-card{
  position:relative;height:200px;border-radius:22px;overflow:hidden;
  background:var(--adv-grad);
  padding:17px 20px;
}
.adv-card span{font-size:16px;font-weight:500;color:var(--gray-3);line-height:1;position:relative;z-index:2;}
.adv-card img{
  position:absolute;left:50%;bottom:6px;transform:translateX(-50%);
  width:auto;height:95px;object-fit:contain;
}

/* ===================================================================
   ЛЕНДИНГ КУРСА (single-product)
   =================================================================== */
.course-hero{
  background:var(--search-bg);
  padding:42px 0 56px;
}
.course-breadcrumb{font-size:14px;color:#4E4E4E;margin-bottom:60px;}
.course-breadcrumb a:hover{color:var(--purple);}
.course-hero__grid{
  display:grid;grid-template-columns:1fr 587px;gap:60px;align-items:start;
}
.course-hero__title{
  font-size:36px;font-weight:700;line-height:1.05;color:var(--green);max-width:430px;
}
.course-hero__lead{
  margin-top:24px;font-size:18px;line-height:1.3;color:var(--ink);max-width:549px;
}
.course-audience{margin-top:40px;}
.course-audience h2{font-size:20px;font-weight:700;color:var(--green);margin-bottom:26px;}
.course-audience ul{display:flex;flex-direction:column;gap:21px;}
.course-audience li{
  position:relative;padding-left:28px;font-size:16px;color:var(--ink);line-height:1.2;
}
.course-audience li::before{
  content:"";position:absolute;left:0;top:4px;
  width:10px;height:10px;border-radius:50%;background:var(--green);
}
.course-enroll{margin-top:40px;width:235px;height:58px;font-size:18px;font-weight:500;}
.course-hero__media{
  border-radius:22px;overflow:hidden;aspect-ratio:587/509;background:var(--ph);
}
.course-hero__media img{width:100%;height:100%;object-fit:cover;}

.course-info{
  display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:62px;
}
.info-card{
  background:#fff;border-radius:11px;min-height:167px;padding:19px 14px;
  display:flex;flex-direction:column;
}
.info-card__label{
  align-self:flex-start;background:var(--badge);color:var(--ink);
  font-size:13px;line-height:1;padding:10px;border-radius:8px;white-space:nowrap;
}
.info-card__value{margin-top:auto;font-size:16px;line-height:1.25;color:var(--ink);}

/* Другие курсы */
.other-courses{padding-top:54px;}
.other-courses__title{text-align:center;font-size:36px;font-weight:500;color:var(--green);margin-bottom:73px;}

/* ===================================================================
   КАТАЛОГ (archive-product / taxonomy)
   =================================================================== */
.catalog-archive{padding:42px 0 0;}
.catalog-archive__head{margin-bottom:40px;}
.catalog-archive__cover{
  border-radius:22px;overflow:hidden;aspect-ratio:1440/320;background:var(--ph);margin-top:24px;
}
.catalog-archive__cover img{width:100%;height:100%;object-fit:cover;}
.catalog-archive__desc{margin-top:20px;font-size:18px;line-height:1.4;color:var(--ink);max-width:920px;}
.catalog-archive__grid{margin-top:42px;}
.catalog-archive .products{grid-template-columns:repeat(4,1fr);}
.woocommerce-pagination{margin-top:48px;}
.woocommerce-pagination ul{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.woocommerce-pagination ul li a,.woocommerce-pagination ul li span{
  display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;
  padding:0 12px;border-radius:var(--radius-pill);background:var(--blue-pill);font-size:16px;color:var(--ink);
}
.woocommerce-pagination ul li span.current{background:var(--purple);color:#fff;}

/* ===================================================================
   LMS-ПОРТАЛ (single-lesson)
   =================================================================== */
.learning-hero{background:var(--search-bg);padding:42px 0 64px;}
.learning-hero__title{font-size:36px;font-weight:700;color:var(--green);margin:18px 0 0;}
.learning-progress{
  display:grid;grid-template-columns:328px 1fr;gap:46px;align-items:start;margin-top:24px;
}
.learning-status{
  display:inline-flex;align-self:flex-start;background:var(--badge);color:#191919;
  font-size:14px;line-height:1;padding:10px 18px;border-radius:33px;white-space:nowrap;
}
.learning-progress__left .lessons-count{display:block;margin-top:30px;font-size:16px;color:#000;}
.progress-bar{height:15px;border-radius:33px;background:var(--purple-14);overflow:hidden;}
.progress-bar__fill{height:100%;border-radius:33px;background:var(--purple);transition:width .4s ease;}
.learning-progress__right .progress-label{display:block;margin-top:15px;font-size:16px;font-weight:500;color:#000;}

/* White card */
.learning-card{
  display:grid;grid-template-columns:298px 1fr;
  background:#fff;border-radius:22px;margin-top:34px;overflow:hidden;
  box-shadow:0 2px 30px rgba(120,124,200,.08);
}
.lesson-menu{padding:28px 0 40px;border-right:1px solid #D6D6D6;}
.lesson-menu__title{font-size:24px;font-weight:500;color:#000;padding:0 28px;margin-bottom:24px;}
.lesson-list{display:flex;flex-direction:column;gap:30px;}
.lesson-list__item{
  display:flex;align-items:center;gap:11px;font-size:18px;font-weight:500;color:#000;
  padding:0 24px 0 27px;white-space:nowrap;
}
.lesson-list__item a{display:flex;align-items:center;gap:11px;width:100%;color:inherit;}
.lesson-list__item .lesson-row{display:flex;align-items:center;gap:11px;width:100%;color:inherit;}
.lesson-list__label{overflow:hidden;text-overflow:ellipsis;}
.lesson-list__item .ico{width:18px;height:14px;flex:0 0 auto;display:flex;align-items:center;}
.lesson-list__item .ico svg{width:100%;height:auto;}
.lesson-list__item .status{margin-left:auto;font-size:18px;color:#7F7F7F;}
.lesson-list__item.is-active{
  position:relative;background:var(--purple-14);border-radius:0 11px 11px 0;
  padding-top:13px;padding-bottom:13px;
}
.lesson-list__item.is-active::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--purple);
}
.lesson-list__item.is-locked{color:var(--gray-2);}
.lesson-list__item.is-locked .status{color:#7F7F7F;}
.lesson-list__item.is-done .status{color:#2FD943;}

.lesson-content{padding:28px 32px 34px;}
.lesson-content__title{font-size:24px;font-weight:500;color:#000;margin-bottom:26px;}
.lesson-video{
  position:relative;border-radius:22px;overflow:hidden;
  aspect-ratio:1082/652;background:#8a8a8a;
}
.lesson-video__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.lesson-video__overlay{position:absolute;inset:0;background:rgba(21,21,21,.44);}
.lesson-video iframe,.lesson-video video{position:absolute;inset:0;width:100%;height:100%;border:0;}
.lesson-video__player{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000;}
.lesson-video.is-playing .lesson-video__poster,
.lesson-video.is-playing .lesson-video__overlay,
.lesson-video.is-playing .lesson-video__play{display:none;}
.lesson-video__play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:70px;height:70px;border-radius:50%;background:var(--purple);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 28px rgba(121,124,245,.5);transition:transform .15s;z-index:2;
}
.lesson-video__play:hover{transform:translate(-50%,-50%) scale(1.07);}
.lesson-video__play svg{width:24px;height:28px;fill:#fff;margin-left:4px;}
.lesson-materials{
  display:flex;align-items:center;gap:26px;margin-top:24px;
  background:var(--purple-14);border-radius:15px;padding:21px 24px;
}
.lesson-materials__ico{width:22px;height:25px;flex:0 0 auto;stroke:var(--green);fill:none;}
.lesson-materials__name{font-size:18px;color:var(--green);}
.lesson-materials__btn{
  margin-left:auto;background:var(--purple);color:#fff;border-radius:33px;
  font-size:16px;text-transform:uppercase;padding:9px 34px;transition:background .15s;
}
.lesson-materials__btn:hover{background:var(--purple-press);}
.lesson-complete{margin-top:26px;display:flex;justify-content:flex-end;}
.lesson-complete__btn{min-width:240px;height:54px;}
.lesson-complete__btn[disabled]{background:#2FD943;cursor:default;opacity:1;}

/* ===================================================================
   ЛИЧНЫЙ КАБИНЕТ (my-account)
   =================================================================== */
.account{position:relative;overflow:hidden;}
.account__layout{display:flex;align-items:stretch;}

/* Sidebar */
.account__sidebar{
  flex:0 0 calc(var(--gut) + 330px);
  padding:48px var(--gut) 48px var(--gut);
  background:linear-gradient(148.869deg,#E0EDFF 4.25%,#FFF0FF 100.73%);
  border-radius:0 0 15px 0;
}
.acc-nav{display:flex;flex-direction:column;gap:0;}
.acc-nav__group{margin-bottom:36px;}
.acc-nav__head{
  display:flex;align-items:center;gap:10px;
  font-size:18px;font-weight:700;color:var(--green);text-transform:uppercase;
  margin-bottom:28px;
}
.acc-nav__head svg{width:11px;height:7px;fill:var(--green);}
.acc-nav__list{display:flex;flex-direction:column;gap:20px;}
.acc-nav__item{
  display:flex;align-items:center;gap:14px;
  font-size:18px;color:var(--gray);transition:color .15s;
}
.acc-nav__item svg{width:18px;height:18px;flex:0 0 auto;stroke:var(--gray);fill:none;}
.acc-nav__item:hover,.acc-nav__item.is-active{color:var(--green);}
.acc-nav__item.is-active svg{stroke:var(--green);}
.acc-nav__single{margin-bottom:36px;}
.acc-nav__logout{margin-top:40px;}

/* Main */
.account__main{flex:1 1 auto;min-width:0;padding-right:var(--gut);padding-left:38px;}
.account__topbar{
  height:100px;display:flex;align-items:center;justify-content:space-between;
  background:var(--search-bg);
  margin-left:-38px;margin-right:calc(-1 * var(--gut));
  padding-left:38px;padding-right:var(--gut);
}
.account__topbar h1{font-size:18px;font-weight:400;color:var(--green);}
.account__user{display:flex;align-items:center;gap:14px;color:var(--green);font-size:18px;text-transform:uppercase;}
.account__user img{width:68px;height:68px;border-radius:50%;object-fit:cover;}

.account__content{padding:64px 0 80px;}
.account__row{display:grid;grid-template-columns:1fr 360px;gap:38px;align-items:start;}

/* Profile card */
.profile-card{
  background:var(--search-bg);border-radius:22px;padding:40px 44px;
  position:relative;
}
.profile-card__top{display:flex;gap:48px;}
.profile-card__avatar{width:176px;height:176px;border-radius:50%;object-fit:cover;flex:0 0 auto;background:var(--ph);}
.profile-card__name{font-size:18px;font-weight:700;color:var(--green);text-transform:uppercase;margin-bottom:30px;}
.profile-info{display:flex;flex-direction:column;gap:20px;}
.profile-info__row{display:flex;font-size:16px;}
.profile-info__row dt{flex:0 0 157px;color:var(--gray);margin:0;}
.profile-info__row dd{margin:0;color:var(--ink);}
.profile-status{display:flex;align-items:center;gap:8px;margin-top:18px;color:#2FD943;font-size:16px;}
.profile-status::before{content:"";width:6px;height:6px;border-radius:50%;background:#2FD943;}
.profile-card__actions{
  display:flex;flex-direction:column;align-items:flex-end;gap:9px;margin-top:24px;
}
.profile-card__actions a{font-size:14px;color:var(--green);text-decoration:underline;white-space:nowrap;}

/* Balance card */
.balance-card{
  background:var(--search-bg);border-radius:22px;padding:40px;align-self:stretch;
  display:flex;flex-direction:column;
}
.balance-card h2{font-size:18px;font-weight:700;color:var(--green);text-transform:uppercase;}
.balance-card__state{margin-top:24px;font-size:16px;color:var(--gray);line-height:1.3;}
.balance-card__sum{margin-top:26px;font-size:28px;font-weight:700;color:var(--ink);}
.balance-card__btn{margin-top:30px;width:200px;max-width:100%;height:48px;font-size:18px;font-weight:500;}
.balance-card__history{margin-top:26px;font-size:16px;color:var(--gray);}
.balance-card__history:hover{color:var(--purple);}

/* Курсы row */
.courses-row{display:grid;grid-template-columns:1fr 1.45fr;gap:38px;margin-top:38px;align-items:start;}
.courses-card{background:var(--search-bg);border-radius:22px;padding:34px 40px 44px;position:relative;min-height:300px;}
.courses-card__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px;}
.courses-card__head h2{font-size:18px;font-weight:700;color:var(--green);text-transform:uppercase;white-space:nowrap;}
.courses-card__nav{display:flex;gap:8px;}
.courses-card__nav button{width:23px;height:23px;border-radius:50%;background:rgba(121,124,245,.55);display:flex;align-items:center;justify-content:center;}
.courses-card__nav button:last-child{background:var(--purple);}
.courses-card__nav svg{width:7px;height:10px;fill:#fff;}
.courses-grid{display:flex;gap:30px;flex-wrap:wrap;}
.courses-grid__empty{font-size:16px;color:var(--gray);}
.course-thumb{display:flex;flex-direction:column;gap:14px;}
.course-thumb__img{width:118px;height:118px;border-radius:14px;background:var(--ph);overflow:hidden;display:block;}
.course-thumb__img img{width:100%;height:100%;object-fit:cover;}
.course-thumb span{font-size:16px;color:var(--ink);}

/* Account endpoints (finances / lessons / generic) */
.account-endpoint__title{font-size:24px;font-weight:700;color:var(--green);margin-bottom:24px;}
.balance-history{width:100%;border-collapse:collapse;font-size:16px;}
.balance-history th,.balance-history td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);}
.balance-history th{color:var(--gray);font-weight:500;}
.balance-history td.sum--in{color:#2FD943;}
.balance-history td.sum--out{color:#d23c3c;}
.account-note{font-size:16px;color:var(--gray);line-height:1.5;}

/* ===================================================================
   О КОМПАНИИ (about)
   =================================================================== */
.about-hero{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;min-height:621px;align-items:stretch;
}
.about-hero__left{
  background:linear-gradient(126deg,#E0EDFF 6.47%,#FFF0FF 98.19%);
  border-radius:0 64px 64px 0;
  padding:42px 60px 48px var(--gut);
  display:flex;flex-direction:column;
}
.about-hero__bc{font-size:14px;color:#4E4E4E;margin-bottom:60px;}
.about-hero__bc a:hover{color:var(--purple);}
.about-hero__title{font-size:36px;font-weight:700;color:var(--green);line-height:1.05;max-width:470px;margin-bottom:24px;}
.about-hero__text{font-size:18px;line-height:1.4;color:#000;max-width:620px;display:flex;flex-direction:column;gap:18px;}
.about-hero__right{
  background:#cfd8e6 50% 0/cover no-repeat;
  border-radius:64px 0 0 64px;min-height:420px;
}

.about-block{padding:64px 0;text-align:center;}
.about-block__title{font-size:36px;font-weight:500;color:var(--green);margin-bottom:40px;}
.about-block__text{font-size:18px;line-height:1.4;color:#000;max-width:1241px;margin:0 auto;}
.about-block__text p+p{margin-top:8px;}

/* Stats band */
.about-stats{background:var(--search-bg);padding:66px 0 74px;text-align:center;}
.about-stats__title{font-size:36px;font-weight:500;color:var(--green);}
.about-stats__sub{font-size:18px;color:#000;margin:26px auto 0;max-width:585px;line-height:1.3;}
.about-stats__grid{display:flex;justify-content:center;gap:120px;margin-top:60px;flex-wrap:wrap;}
.stat{max-width:430px;}
.stat__num{font-size:56px;font-weight:500;color:var(--green);line-height:1;}
.stat__desc{font-size:22px;font-weight:500;color:var(--green);margin-top:12px;line-height:1.15;}

/* Больше чем курсы */
.about-more{padding:64px 0 0;text-align:center;}
.about-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:54px;}
.about-card{
  background:#DFE6FF;border-radius:15px;min-height:202px;
  padding:13px 25px 24px;text-align:center;
  display:flex;flex-direction:column;align-items:center;
}
.about-card__num{font-size:54px;font-weight:300;color:var(--green);line-height:1.2;}
.about-card__text{font-size:18px;color:#000;margin-top:18px;line-height:1.25;}

/* Ваш рост band */
.about-band{
  position:relative;border-radius:22px;overflow:hidden;margin-top:66px;
  background:#dfe3ee center/cover no-repeat;
  padding:41px 242px 48px;text-align:center;
}
.about-band__overlay{position:absolute;inset:0;background:rgba(223,230,255,.14);}
.about-band__inner{position:relative;}
.about-band__title{font-size:36px;font-weight:500;color:var(--green);margin-bottom:24px;}
.about-band__text{display:flex;flex-direction:column;gap:18px;font-size:18px;line-height:1.35;color:#000;max-width:951px;margin:0 auto;}

/* CTA */
.about-cta{padding:72px 0 0;text-align:center;}
.about-cta__title{font-size:36px;font-weight:500;color:var(--green);max-width:692px;margin:0 auto 26px;line-height:1.1;}
.about-cta__text{font-size:18px;line-height:1.4;color:#000;max-width:940px;margin:0 auto;}
.about-cta__btn{margin-top:36px;display:inline-flex;min-width:280px;height:62px;}

/* ===================================================================
   ДОКУМЕНТАЦИЯ (documents)
   =================================================================== */
.docs{padding:42px 0 0;}
.docs__bc{font-size:14px;color:#4E4E4E;}
.docs__bc a:hover{color:var(--purple);}
.docs__intro{font-size:18px;line-height:1.4;color:#000;margin:24px 0 0;max-width:920px;}
.docs__title{font-size:36px;font-weight:700;color:var(--green);margin:60px 0 54px;}
.docs__list{display:flex;flex-direction:column;align-items:flex-start;gap:22px;padding-bottom:80px;}
.doc-chip{
  display:inline-flex;align-items:center;gap:16px;max-width:100%;
  background:#F8F8F8;border-radius:11px;padding:12px 24px;
  font-size:18px;color:#000;transition:background .15s;
}
.doc-chip:hover{background:#EFEFF6;}
.doc-chip svg{width:17px;height:21px;flex:0 0 auto;stroke:var(--green);fill:none;}
.doc-chip span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* ===================================================================
   WOOCOMMERCE (checkout, account forms, notices)
   =================================================================== */
.wc-wrap{padding:42px 0 0;}
.wc-wrap__title{font-size:36px;font-weight:700;color:var(--green);margin:24px 0 34px;}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{
  list-style:none;margin:0 0 24px;padding:16px 22px;border-radius:12px;font-size:16px;line-height:1.4;
  background:var(--purple-12);color:var(--green);
}
.woocommerce-error{background:rgba(210,60,60,.1);color:#b13030;}
.woocommerce-message{background:rgba(47,217,67,.12);color:#1a7d2c;}
.woocommerce form .form-row{display:flex;flex-direction:column;gap:8px;margin:0 0 20px;}
.woocommerce form .form-row label{font-size:15px;color:var(--gray);}
.woocommerce .input-text,.woocommerce select,.woocommerce textarea{
  width:100%;border:1px solid var(--line);border-radius:12px;
  padding:16px 20px;font-size:16px;color:var(--ink);background:#fff;
}
.woocommerce .input-text:focus,.woocommerce select:focus,.woocommerce textarea:focus{outline:none;border-color:var(--purple);}
.woocommerce .button,.woocommerce button.button,.woocommerce input.button,.woocommerce #place_order{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--purple);color:#fff;border-radius:var(--radius-pill);
  padding:15px 30px;font-size:18px;line-height:1;transition:background .15s;
}
.woocommerce .button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #place_order:hover{background:var(--purple-press);}

/* Checkout layout */
.checkout-page{padding:42px 0 0;}
.checkout-page__title{font-size:36px;font-weight:700;color:var(--green);margin:24px 0 34px;}
.checkout{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:start;}
.checkout__cart{grid-column:1 / -1;}
.section__title{font-size:24px;font-weight:700;color:var(--green);margin-bottom:20px;}
.woocommerce-checkout-review-order-table{width:100%;border-collapse:collapse;font-size:16px;}
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{
  padding:14px 12px;text-align:left;border-bottom:1px solid var(--line);
}
.woocommerce-checkout-review-order-table tfoot th{color:var(--green);}
.woocommerce-checkout #payment{background:var(--search-bg);border-radius:18px;padding:24px;margin-top:20px;}
.woocommerce-checkout #payment ul.payment_methods{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:12px;}
.woocommerce-checkout #payment div.payment_box{background:#fff;border-radius:12px;padding:14px 18px;font-size:15px;color:var(--gray);}
.woocommerce-form-coupon-toggle,.checkout_coupon{margin-bottom:24px;}
.checkout_coupon .form-row{flex-direction:row;flex-wrap:wrap;gap:12px;}

/* WC My Account (форма редактирования профиля внутри нашего layout) */
.woocommerce-MyAccount-content form{max-width:680px;}
.woocommerce-EditAccountForm fieldset{border:1px solid var(--line);border-radius:14px;padding:20px 24px;margin:24px 0;}
.woocommerce-EditAccountForm legend{padding:0 8px;color:var(--green);font-weight:500;}

/* ============================ RESPONSIVE ============================ */
@media (max-width:1200px){
  .products{grid-template-columns:repeat(2,1fr);gap:24px 20px;}
  .catalog-archive .products{grid-template-columns:repeat(3,1fr);}
  .modal{padding:48px 56px 56px;}
  .hero{min-height:640px;}
  .hero__inner{padding-top:140px;}
  .hero__title{font-size:84px;}
  .hero__subtitle{font-size:38px;}
  .catalog__controls{flex-direction:column;align-items:stretch;gap:18px;}
  .pill-group{flex-wrap:wrap;}
  .search-box{width:100%;max-width:100%;}
  .documents__grid{grid-template-columns:1fr;gap:40px;}
  .documents__media{max-width:710px;}
  .advantages__grid{grid-template-columns:repeat(3,1fr);gap:20px;}
  .carousel__track .product{flex-basis:calc((100% - 20px)/2);}
  .carousel__next{display:none;}
  .course-hero__grid{grid-template-columns:1fr;gap:32px;}
  .course-hero__media{max-width:587px;order:-1;}
  .course-info{grid-template-columns:repeat(2,1fr);}
  .checkout{grid-template-columns:1fr;}
}
@media (max-width:1320px){
  .header-contacts{display:none;}
  .main-nav{gap:30px;}
  .main-nav__list{gap:30px;}
}
@media (max-width:1024px){
  .footer-bottom .footer-policy{grid-column:auto;}
  .learning-progress{grid-template-columns:1fr;gap:18px;}
  .learning-card{grid-template-columns:1fr;}
  .lesson-menu{border-right:0;border-bottom:1px solid #D6D6D6;}
  .about-hero{grid-template-columns:1fr;}
  .about-hero__left{border-radius:0;padding:32px var(--gut);}
  .about-hero__right{border-radius:0;min-height:340px;order:-1;}
  .about-stats__grid{gap:48px;}
  .about-band{padding:36px 32px;}
  .account__layout{flex-direction:column;}
  .account__sidebar{flex:none;border-radius:0;padding:32px var(--gut);}
  .acc-nav{flex-direction:row;flex-wrap:wrap;gap:24px 40px;align-items:flex-start;}
  .acc-nav__group{margin-bottom:0;}
  .acc-nav__single,.acc-nav__logout{margin:0;}
  .account__main{padding-left:0;}
  .account__topbar{margin-left:calc(-1*var(--gut));padding-left:var(--gut);}
  .account__row{grid-template-columns:1fr;}
  .balance-card{align-self:auto;}
  .courses-row{grid-template-columns:1fr;}
}
@media (max-width:1000px){
  .main-nav{display:none;}
  .nav-toggle{
    display:inline-flex;flex-direction:column;justify-content:center;gap:5px;
    width:28px;height:28px;margin-right:auto;
  }
  .nav-toggle span{display:block;height:2px;width:24px;background:var(--green);border-radius:2px;}
  .site-header__inner{gap:16px;justify-content:space-between;}
  .site-logo{order:2;margin:0 auto;}
  .header-login{order:3;}
}
@media (max-width:768px){
  :root{--header-h:64px;}
  .container{padding-inline:16px;}
  .site-footer{border-radius:32px 32px 0 0;margin-top:48px;}
  .site-footer__inner{grid-template-columns:1fr;gap:28px;padding-top:32px;text-align:center;}
  .footer-col h3{margin-bottom:18px;}
  .footer-col ul{align-items:center;}
  .footer-bottom{grid-template-columns:1fr;gap:18px;text-align:center;padding:24px 0 32px;}
  .footer-bottom p{margin-inline:auto;}
  .section-title{font-size:26px;}
  .modal-overlay{padding:16px;}
  .modal{padding:36px 20px 40px;border-radius:22px;}
  .modal--auth{padding:40px 20px 44px;}
  .auth-tab{font-size:16px;}
  .auth-submit{min-width:0;width:100%;}
  .modal__title{font-size:22px;}
  .modal__close{top:18px;right:18px;width:28px;height:28px;}
  .field input,.field textarea{padding:18px 20px;font-size:16px;}
  .hero{min-height:auto;padding-bottom:60px;background-position:center;}
  .hero__inner{padding-top:90px;text-align:center;display:flex;flex-direction:column;align-items:center;}
  .hero__title{font-size:54px;}
  .hero__subtitle{font-size:28px;line-height:1;max-width:240px;margin-top:8px;}
  .hero__cta{height:48px;font-size:16px;width:100%;margin-top:28px;}
  .catalog{padding-top:64px;}
  .catalog__title,.advantages__title,.documents__title{font-size:24px;}
  .catalog__controls{flex-direction:column;align-items:stretch;margin-top:40px;gap:16px;}
  .search-box{width:100%;max-width:100%;order:-1;}
  .pill{height:46px;font-size:15px;padding:0 18px;}
  .carousel__track{gap:14px;}
  .carousel__track .product{flex-basis:calc((100% - 14px)/2);}
  .documents{padding-top:64px;}
  .doc-cert{width:100%;}
  .documents__btn{width:100%;}
  .advantages{padding-top:72px;}
  .advantages__grid{grid-template-columns:repeat(2,1fr);gap:14px;}
  .course-hero{padding:24px 0 36px;}
  .course-breadcrumb{margin-bottom:24px;}
  .course-hero__title{font-size:26px;}
  .course-enroll{width:100%;}
  .course-info{grid-template-columns:1fr;}
  .info-card{min-height:0;}
  .other-courses__title{font-size:24px;margin-bottom:32px;}
  .catalog-archive .products{grid-template-columns:repeat(2,1fr);}
  .learning-hero{padding:24px 0 40px;}
  .learning-hero__title{font-size:24px;}
  .lesson-content{padding:20px;}
  .lesson-content__title{font-size:18px;}
  .lesson-materials{flex-wrap:wrap;gap:14px;}
  .lesson-materials__name{flex:1 1 auto;font-size:16px;}
  .lesson-materials__btn{margin-left:0;}
  .lesson-complete{justify-content:stretch;}
  .lesson-complete__btn{width:100%;}
  .account__topbar{height:72px;}
  .account__user img{width:48px;height:48px;}
  .profile-card,.balance-card,.courses-card{padding:24px;}
  .profile-card__top{flex-direction:column;gap:20px;align-items:center;text-align:center;}
  .profile-info__row{flex-direction:column;gap:2px;}
  .profile-info__row dt{flex:none;}
  .account__content{padding:36px 0 56px;}
  .about-hero__title,.about-block__title,.about-stats__title,.about-cta__title,.about-band__title{font-size:24px;}
  .about-cards{grid-template-columns:1fr;gap:18px;}
  .stat__num{font-size:44px;}
  .stat__desc{font-size:18px;}
  .about-block,.about-more,.about-cta{padding-left:0;padding-right:0;}
  .docs__title{font-size:24px;margin:24px 0 28px;}
  .doc-chip{font-size:14px;padding:12px 16px;gap:12px;width:100%;}
}
@media (max-width:560px){
  .products{grid-template-columns:repeat(2,1fr);gap:18px 14px;}
  .catalog-archive .products{grid-template-columns:1fr;}
}
