/* Auto-extracted from landing.html. */
/* Source: home/main/landing/templates/landing/landing.html */

html, body{ min-height:100%; }
body.page-landing{
  margin:0;
  font-family:"Nunito", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  letter-spacing:.01em;
}
body.page-landing, body.page-landing button, body.page-landing input, body.page-landing select, body.page-landing textarea{
  font-family:"Nunito", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

:root{
  --space-0: 0;
  --space-1: .5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 3rem;
  --space-5: 4.5rem;

  --radius-1: .75rem;
  --radius-2: 1.25rem;
  --radius-3: 1.75rem;

  --container: 75rem;
}

body.page-landing #container{
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 var(--space-3);
}

body.page-landing .page-main > section{ padding: var(--space-4) 0; }
body.page-landing .page-main > section.big_top{ padding: var(--space-5) 0; }

body.page-landing .big_top,
body.page-landing .partners,
body.page-landing .platform-section,
body.page-landing .gradient,
body.page-landing .top_blocks{
  display:block;
}

/* ========== HERO (umschool‑like): 2 колонки, чистая карточка, наши акценты ========== */
body.page-landing .big_top{
  position:relative;
}
body.page-landing .big_top::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(900px 420px at 18% 30%, rgba(67,145,148,.18), transparent 60%),
    radial-gradient(900px 520px at 88% 10%, rgba(148,67,148,.14), transparent 55%);
}
body.page-landing .big_top #container.big_form{
  position:relative;
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: var(--space-4);
  align-items:stretch;
}
body.page-landing .big_top .big_text{
  position:relative;
  overflow:hidden;
  border-radius: var(--radius-3);
  border: 1px solid rgba(15,118,128,.10);
  box-shadow: 0 22px 60px rgba(8,107,120,.10);
  padding: var(--space-4);
  display:flex;
  flex-direction:column;
  gap: var(--space-3);
  min-height: 100%;
  background-image: var(--hero-media, none);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
body.page-landing .big_top .big_text::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background: linear-gradient(135deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.78) 100%);
}
body.page-landing .big_top .big_text::after{
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  background:
    radial-gradient(520px 320px at 20% 10%, rgba(106,207,199,.22), transparent 65%),
    radial-gradient(520px 320px at 85% 0%, rgba(215,167,223,.18), transparent 60%);
  opacity:.9;
}
body.page-landing .big_top .big_text > *{ position:relative; z-index:1; }
body.page-landing .big_top .b_title{
  font-size: clamp(2rem, 3.2vw, 3rem);
  line-height: 1.08;
  font-weight: 900;
  color: var(--header-text, #0b3b40);
  letter-spacing: -.01em;
}
body.page-landing .big_top .b_title mark{ background:none; color: inherit; }
body.page-landing .big_top .b_text{
  color: rgba(11,59,64,.78);
  font-weight:700;
  line-height:1.55;
  font-size: 1.05rem;
}
body.page-landing .big_top .b_box{
  margin-top:auto;
  background: rgba(67,145,148,.08);
  border: 1px solid rgba(67,145,148,.12);
  border-radius: var(--radius-2);
  padding: var(--space-3);
  color: rgba(11,59,64,.85);
  font-weight:700;
}

body.page-landing #leadForm{
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15,118,128,.12);
  border-radius: var(--radius-3);
  box-shadow: 0 22px 60px rgba(8,107,120,.12);
  padding: var(--space-4);
  display:flex;
  flex-direction:column;
  gap: var(--space-3);
  min-width: 0;
}
body.page-landing #leadForm .form-title{
  font-weight: 900;
  font-size: 1.35rem;
  line-height: 1.2;
  color: var(--header-text, #0b3b40);
  margin:0;
}
body.page-landing #leadForm input{
  width:100%;
  border-radius: 1rem;
  border: 1.5px solid rgba(15,118,128,.16);
  background: rgba(255,255,255,.92);
  padding: .9rem 1rem;
  outline:none;
}
body.page-landing #leadForm input:focus{
  border-color: rgba(0,182,206,.55);
  box-shadow: 0 0 0 .25rem rgba(0,182,206,.12);
}
body.page-landing #leadForm button{
  width:100%;
  border:0;
  border-radius: 1rem;
  padding: .95rem 1rem;
  background: var(--cta-btn-bg, linear-gradient(45deg, var(--main-1), var(--main-2)));
  color: var(--cta-btn-text, #fff);
  font-weight: 900;
  cursor:pointer;
  box-shadow: 0 16px 36px rgba(11,179,196,.20);
  transition: transform .15s ease, filter .15s ease;
}
body.page-landing #leadForm button:hover{ filter: brightness(.98); transform: translateY(-1px); }

body.page-landing #leadForm .legal-note{
  margin-top: 0;
  font-size: .9rem;
  color: rgba(11,59,64,.70);
  gap: .35rem;
}
body.page-landing #leadForm .legal-note a{
  font-weight: 800;
  color: var(--header-link, #00889b);
}

@media (max-width: 980px){
  body.page-landing .big_top #container.big_form{ grid-template-columns: 1fr; }
}
@media (max-width: 520px){
  body.page-landing .big_top .big_text,
  body.page-landing #leadForm{
    padding: var(--space-3);
    border-radius: 1.25rem;
  }
  body.page-landing .big_top .b_title{ font-size: clamp(1.7rem, 7vw, 2.2rem); }
}

.messages.messages--floating{
  position:fixed;
  top: var(--space-2);
  left: 0;
  right: 0;
  display:flex;
  justify-content:center;
  z-index:12050;
  padding: 0 var(--space-3);
}
.messages.messages--floating .message{
  background:#e8fff7;
  color:#065f46;
  border:1px solid #b7f1d5;
  border-radius: var(--radius-1);
  padding: var(--space-1) var(--space-2);
  box-shadow:0 8px 24px rgba(0,0,0,.08);
}

.legal-note{
  font-size:.85rem;
  color:#5f6c73;
  margin-top: var(--space-2);
  display:flex;
  flex-direction:column;
  gap:.25rem;
}

.platform-text{ margin-bottom: var(--space-3); }
.platform-features{ margin-top: var(--space-1); }

/* Шапка/меню/футер — общие, задаются в `pages/base_shop.css` */
.tariff-toggle__label{ min-width:84px; }

/* Platform devices scene (moved from inline style block). */
.devices-scene{
  position:relative;
  width:100%;
  max-width: var(--container);
  aspect-ratio:16/9;
  margin: var(--space-3) auto;
  border-radius: var(--radius-2);
  background-position:center;
  background-size:cover;
  box-shadow:0 18px 45px rgba(8,107,120,.12);
}
.devices-scene::before{ content:""; display:block; padding-top:56.25%; }
@supports (aspect-ratio:1){
  .devices-scene::before{ content:none; padding-top:0; }
}
.devices-scene .screen{ position:absolute; overflow:hidden; pointer-events:none; box-shadow:0 0 0 1px rgba(0,0,0,.35) inset; }
.devices-scene .screen > video, .devices-scene .screen > img{ width:100%; height:100%; object-fit:cover; display:block; }
.devices-scene .imac{ left:25.2%; top:16.8%; width:44.5%; height:44.7%; border-radius:6px; z-index:2; }
.devices-scene .iphone{ left:11.2%; top:48.7%; width:9%; height:29%; border-radius:5px; z-index:6; }
.devices-scene .ipad{ left: calc(73.0% + 1.2%); top: calc(46.0% + 1.2%); width: calc(23.1% - 1.2% * 2); height: calc(32.6% - 1.2% * 2); border-radius:5px; z-index:7; }
@media (max-width:640px){
  .devices-scene{ border-radius:0; box-shadow:0 12px 32px rgba(8,107,120,.12); }
  .devices-scene .screen{ border-radius:0; box-shadow:0 0 0 1px rgba(0,0,0,.25) inset; }
  .devices-scene .screen > video,
  .devices-scene .screen > img{ border-radius:0; }
}

    /* Баннер/мини-корзина/кнопки — общие, задаются в `pages/base_shop.css` */
    .form-side-info{color:var(--hero-form-text-color,#0b3b40);}

    .platform-section{ padding:0; background:transparent; }
    .platform-section #container{ display:flex; flex-direction:column; gap:var(--space-4); }
    .platform-hero{ display:flex; flex-wrap:wrap; gap:2.5rem; align-items:center; justify-content:space-between; }
    .platform-monitor{ position:relative; width:min(520px, 100%); }
    .platform-monitor .monitor{ position:relative; width:100%; }
    .platform-monitor .monitor img.frame{ display:block; width:100%; position:relative; z-index:2; }
    .platform-monitor .screen{ position:absolute; top:-11.5%; left:-4.4%; width:101%; height:86%; z-index:1; overflow:hidden; perspective:1200px; }
    .platform-monitor .screen img{ position:absolute; inset:0; width:120%; height:120%; object-fit:cover; transform-origin:0 0; transform:matrix3d(0.787279, -0.08999, 0, -0.000148, -0.058631, 0.613159, 0, -3e-05, 0, 0, 1, 0, 66.9606, 118.957, 0, 1); opacity:0; transition:opacity 1s ease-in-out; }
    .platform-monitor .screen img.active{ opacity:1; }
    .platform-text{ display:flex; flex-direction:column; gap:1.25rem; }
    .platform-text-grid{ display:grid; grid-template-columns:1fr 1fr; gap:var(--space-3); align-items:start; }
    .platform-text h2{ margin:0; font-size:clamp(2rem, 4vw, 2.8rem); font-weight:900; color:var(--platform-text,var(--text,#0b3b40)); }
    .platform-text p{ margin:0; color:var(--platform-text,#475569); line-height:1.6; font-size:1.05rem; }
    .platform-features{ display:grid; gap:1.25rem; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); align-items:stretch; width:100%; }
    .platform-feature{ background:var(--platform-card-bg,#fff); border-radius:1rem; padding:1.25rem 1.35rem; box-shadow:0 12px 30px rgba(8,107,120,.10); height:100%; display:flex; flex-direction:column; gap:.6rem; color:var(--platform-text,#0b3b40); border:1px solid #eef2f2; }
    .top_blocks{ background:var(--tariffs-bg,transparent); }
    .top_blocks .wblock{ background:var(--tariffs-card-bg,var(--card-bg,#fff)); color:var(--tariffs-text,var(--text,#0b3b40)); }
    .top_blocks .wblock p, .top_blocks .wblock li{ color:var(--tariffs-text,var(--text,#0b3b40)); }
    .top_blocks .wblock li::before{ color:var(--tariff-price,var(--main-1,#0bb3c4)); }
    .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); }
    
    
    .platform-device .monitor{ position:relative; width:100%; }
    .platform-device .frame{ display:block; width:100%; position:relative; z-index:2; transform:none; }
    .platform-device .screen{ position:absolute; overflow:hidden; z-index:1; }
    
    
    
    .wblock_price{ font-size:var(--tariff-price-size,1.35rem); font-weight:900; color:var(--tariff-price,var(--main-1)); }
    .platform-device .screen img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 1s ease-in-out; }
    .platform-device .screen img.active{ opacity:1; }
    
    .platform-device.tablet .screen{
      /* айпад: прямой экран */
      top:  var(--sy);
      left: var(--sx);
      width: var(--sw);
      height:var(--sh);
      overflow:hidden;
      border-radius: 24px;
    }
    .platform-device.tablet .screen img{
      width:100%; height:100%; object-fit:cover; transform:none; opacity:1;
    }
    
    .platform-device.mobile .screen{
      /* айфон: прямой экран */
      top:  var(--sy);
      left: var(--sx);
      width: var(--sw);
      height:var(--sh);
      overflow:hidden;
      border-radius: 26px;
    }
    .platform-device.mobile .screen img{
      width:100%; height:100%; object-fit:cover; transform:none; opacity:1;
    }

    @media (max-width:1100px){
      .platform-hero{ display:none; }
      .platform-device.tablet{ display:block; }
    }

    @media (max-width:700px){
      .platform-device.tablet{ display:none; }
      .platform-device.mobile{ display:block; }
    }

    @media (max-width:520px){
      .platform-device.mobile{ width:min(220px, 78vw); }
    }
    .platform-feature h3{ margin:0 0 .5rem; font-size:1.15rem; color:var(--platform-text,var(--text,#0b3b40)); }
    .platform-feature p{ margin:0; color:#475569; font-size:.98rem; line-height:1.5; }
    /* Общие мобильные улучшения */
    html, body{ overflow-x:hidden; }
    img, video{ max-width:100%; height:auto; }
    /* Карточки преимуществ и тарифов — адаптивные отступы */
    .tariff-card{ padding:1.5rem; }
    /* Партнёры */
    .partners{ background:var(--partners-bg,transparent); }
    .partners h2{ font-size:var(--partners-heading-size,24px); color:var(--partners-text,var(--text,#475569)); }
    .partners #container{ display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:1rem; align-items:stretch; }
    .partner-card{ background:var(--partners-card-bg,var(--card-bg,#fff)); border-radius:1rem; padding:1rem; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:.6rem; text-align:center; box-shadow:0 10px 24px rgba(8,107,120,.06); color:var(--partners-text,var(--text,#475569)); }
    .partner-card img{ max-height:56px; width:auto; height:auto; object-fit:contain; }
    .partner-card p{ margin:0; color:var(--partners-text,var(--text,#475569)); font-size:var(--partners-text-size,15px); }
	    /* Отзывы */
	    [data-review-slider]{ --reviews-gap:1.25rem; --reviews-nav-space:48px; --reviews-visible:1; }
	    .testimonials{ background:var(--reviews-bg,transparent); padding: var(--space-4) 0; }
	    .testimonials h2{ margin:0 0 1.25rem; font-size:clamp(1.8rem, 4.5vw, 2.2rem); text-align:center; color:var(--review-text,var(--text,#0b3b40)); }
    .testimonial-slider{ position:relative; overflow:hidden; padding:0 calc(var(--reviews-nav-space)); }
    .testimonial-track{ display:flex; gap:0; transition:transform .35s ease; }
    .testimonial-slide{ flex:0 0 100%; display:flex; justify-content:center; padding: var(--space-2) 0; }
    .testimonial-card{
      width: min(56rem, calc(100vw - 6rem));
      background:var(--review-card-bg,var(--card-bg,#fff));
      border-radius: var(--radius-3);
      box-shadow:0 16px 40px rgba(8,107,120,.10);
      border:1px solid #eef2f2;
      display:flex;
      flex-direction:column;
      align-items:center;
      text-align:center;
      gap: var(--space-2);
      padding: var(--space-3);
      color:var(--review-text,var(--text,#0b3b40));
    }
    .testimonial-photo{ width:100%; height:auto; border-radius:16px; object-fit:cover; display:block; box-shadow:0 12px 28px rgba(8,107,120,.12); }
    .testimonial-meta{ display:flex; flex-direction:column; gap:.25rem; color:var(--review-text,var(--text,#0b3b40)); }
    .author-name{ font-weight:900; font-size:1.05rem; color:var(--review-text,var(--text,#0b3b40)); }
    .author-city{ color:rgba(100,116,139,.85); font-size:.95rem; }
    .testimonial-nav{ position:absolute; top:50%; transform:translateY(-50%); background:#fff; border:1.5px solid #e5f2f2; border-radius:50%; width:44px; height:44px; display:grid; place-items:center; font-size:24px; color:var(--main-2,#00889b); cursor:pointer; box-shadow:0 10px 24px rgba(8,107,120,.12); transition:background .2s ease, color .2s ease; }
    .testimonial-nav:hover{ background:var(--main-1,#00b6ce); color:#fff; }
    .testimonial-nav.prev{ left:8px; }
    .testimonial-nav.next{ right:8px; }
    .testimonial-dots{ display:flex; justify-content:center; gap:8px; margin-top:1.1rem; }
    
    
    @media (max-width:900px){ .testimonial-slider{ padding:0 36px; } }
	    @media (max-width:700px){
	      .testimonial-slider{ padding:0 24px; }
	      .testimonial-nav{ width:36px; height:36px; font-size:20px; }
	      .testimonial-nav.prev{ left:4px; }
	      .testimonial-nav.next{ right:4px; }
	    }

	    /* Прижимаем отзывы к футеру: без огромных пустот */
	    .testimonials #container{ gap: var(--space-3); }
    /* Промо-блоки школьных программ */
    .wblocks{ display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:1.5rem; align-items:stretch; }
    .wblock{
      background:var(--programs-card-bg,var(--card-bg,#fff));
      color:var(--programs-text,var(--text,#0b3b40));
      border:1px solid #e8f2f3;
      border-radius:1.25rem;
      padding:1.25rem 1.35rem;
      box-shadow:0 14px 36px rgba(8,107,120,.08);
      display:flex; flex-direction:column; gap:.85rem; align-items:stretch;
      text-align:left;
    }
    .wblock_icon{ width:60%; margin:.25rem auto 1rem; display:block; height:auto; border-radius:.8rem; box-shadow:0 8px 22px rgba(8,107,120,.08); }
    .wblock_minititle{ display:inline-block; align-self:flex-start; margin:.1rem 0 0; padding:.25rem .6rem; border-radius:999px; background:#eefbfc; color:#00889b; font-weight:900; font-size:.85rem; letter-spacing:.03em; text-transform:uppercase; }
    .wblock_bigtitle{ margin:.2rem 0 .15rem; font-size:1.25rem; font-weight:900; color:#0b3b40; line-height:1.25; display:flex; align-items:flex-start; }
    /* Описание программ: сохраняем переносы как в админке */
    .wblock_desc{ color:var(--programs-text,#475569); line-height:1.65; margin:.25rem 0; white-space:pre-line; }
    .wblock_price{ font-size:var(--tariff-price-size,1.05rem); font-weight:900; color:var(--tariff-price,var(--main-1,#00b6ce)); margin-top:.15rem; }
    .wblock_a{ display:inline-flex; align-items:center; justify-content:center; margin-top:.6rem; padding:.6rem 1rem; border-radius:.9rem; background:transparent; color:var(--cta-btn-bg,var(--main-1,#00b6ce)); text-decoration:none; font-weight:900; border:1.5px solid var(--cta-btn-bg,var(--main-1,#00b6ce)); font-size:var(--tariff-btn-font-size,16px); }
    .wblock_a:hover{ background:#f0fbfc; }
    @media (max-width: 640px){
      .wblock_icon{ width:66%; }
      .wblock_bigtitle{ font-size:1.2rem; }
      /* без обрезки текста на мобилках */
    }
    @media (max-width:1100px){
      .platform-hero{ flex-direction:column; align-items:center; text-align:center; }
      .platform-text{ align-items:center; }
      .platform-monitor.desktop{ display:none; }
      .platform-secondary{ display:flex; }
    }

    @media (max-width:700px){
      .platform-device.tablet{ display:none; }
    }

    @media (max-width:640px){
      .platform-monitor{ margin:0 auto; }
      .platform-text{ align-items:flex-start; text-align:left; }
      .platform-text-grid{ grid-template-columns:1fr; }
      .platform-features{ grid-template-columns:1fr; }
      .devices-scene{ margin:1rem auto; width:100%; aspect-ratio:16/9; box-shadow:0 12px 28px rgba(8,107,120,.12); }
      .mark_title{ display:flex; flex-direction:column; gap:.5rem; align-items:flex-start; }
      /* Мобильный размер заголовка формы в hero */
      #leadForm .form-title{ font-size:1rem; line-height:1.25; }
    }
/* Тарифы/переключатель/карточка — общий компонент в `pages/base_shop.css`.
   Фильтрация ЕГЭ/ОГЭ — только через JS (без CSS “перекрывающих” правил). */
