@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@500;700;800&family=Roboto:wght@400;500;700;800;900&display=swap');

/* ===== СКРЫТИЕ ШАПКИ САЙТА (Theme Builder header, шаблон 499) ===== */
body.kpro-km-page .elementor-499{display:none !important;}

/* ===== СБРОС ОТСТУПОВ КОНТЕЙНЕРА ELEMENTOR/HELLO НА ЭТОЙ СТРАНИЦЕ ===== */
body.kpro-km-page .site-main,
body.kpro-km-page .page-content,
body.kpro-km-page .elementor,
body.kpro-km-page .elementor-section-wrap,
body.kpro-km-page .e-con,
body.kpro-km-page .e-con-inner,
body.kpro-km-page .elementor-widget-container{
  padding-left:0 !important;
  padding-right:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
  max-width:100% !important;
}

/* ===== БАЗА ===== */
.kpro-km{
  --blue:#4882B4;
  --blue-d:#3a6d96;
  --navy:#0F2F5F;
  --ink:#0F1725;
  --muted:rgba(15,23,37,.70);
  --line:rgba(15,23,37,.08);
  --soft1:#f7f9fb;
  --soft2:#f2f8fc;
  font-family:"Roboto",Arial,sans-serif;
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  background:#fff;
  width:100%;
  max-width:100%;
}
.kpro-km *{box-sizing:border-box;}
.kpro-km img{max-width:100%;display:block;}

.kpro-km__wrap{
  max-width:1600px;
  margin:0 auto;
  padding:0 24px;
}

.kpro-km__pill{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:8px 15px;
  border-radius:999px;
  background:rgba(72,130,180,.10);
  border:1px solid rgba(72,130,180,.22);
  font-size:14px;
  font-weight:700;
  color:var(--blue);
  width:fit-content;
  font-family:"Roboto Condensed",Arial,sans-serif;
  letter-spacing:.01em;
}
.kpro-km__dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--blue);
  box-shadow:0 0 0 5px rgba(72,130,180,.14);
}

.kpro-km__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:none;
  cursor:pointer;
  text-decoration:none;
  font-family:"Roboto Condensed",Arial,sans-serif;
  font-weight:800;
  background:var(--blue);
  color:#fff;
  padding:17px 32px;
  border-radius:15px;
  font-size:18px;
  line-height:1;
  box-shadow:0 14px 30px rgba(72,130,180,.24);
  transition:transform .15s,box-shadow .15s,background .15s;
}
.kpro-km__btn:hover{
  transform:translateY(-2px);
  background:var(--blue-d);
  box-shadow:0 18px 38px rgba(72,130,180,.30);
}
.kpro-km__btn--ghost{
  background:rgba(15,23,37,.04);
  color:var(--ink);
  border:1px solid var(--line);
  box-shadow:none;
}
.kpro-km__btn--ghost:hover{
  background:rgba(72,130,180,.08);
  color:var(--navy);
}

.kpro-km__h2{
  margin:16px 0 14px;
  font-size:42px;
  line-height:1.08;
  font-weight:800;
  letter-spacing:-0.025em;
  color:var(--ink);
}
.kpro-km__lead{
  margin:0;
  max-width:920px;
  font-size:20px;
  line-height:1.55;
  color:var(--muted);
  font-weight:500;
}
.kpro-km__lead strong,.kpro-km__h2 strong{color:var(--navy);font-weight:800;}

.kpro-km__section{padding:60px 0;}

.kpro-km__nav{
  position:sticky;top:0;z-index:40;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.kpro-km__nav-in{
  display:flex;align-items:center;gap:20px;
  height:64px;
}
.kpro-km__brand-wrap{display:flex;align-items:center;gap:12px;margin-right:auto;text-decoration:none;}
.kpro-km__logo{height:46px;width:auto;flex-shrink:0;display:block;}
.kpro-km__brand{
  font-family:"Roboto Condensed",Arial,sans-serif;
  font-weight:800;font-size:17px;color:var(--navy);
  letter-spacing:.01em;line-height:1.05;
}
.kpro-km__brand span{display:block;font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;}
.kpro-km__nav-links{display:flex;gap:22px;}
.kpro-km__nav-links a{
  color:var(--muted);text-decoration:none;font-weight:700;font-size:15px;
  font-family:"Roboto Condensed",Arial,sans-serif;transition:color .15s;
}
.kpro-km__nav-links a:hover{color:var(--blue);}
.kpro-km__nav .kpro-km__btn{padding:11px 20px;font-size:15px;border-radius:12px;box-shadow:none;}
@media(max-width:900px){
  .kpro-km__nav-links{display:none;}
}

.kpro-km__hero{padding:36px 0 0;background:#fff;}
.kpro-km__hero-inner{
  display:grid;grid-template-columns:minmax(0,1fr) 43%;
  min-height:620px;overflow:hidden;background:#fff;
  border-radius:28px;border:1px solid rgba(15,23,37,.08);
  box-shadow:0 8px 24px rgba(2,6,23,.045);
}
.kpro-km__hero-left{
  padding:56px clamp(28px,4vw,64px);
  display:flex;flex-direction:column;justify-content:center;
  background:linear-gradient(135deg,#fff 0%,#f9fbfd 48%,#f2f8fc 100%);
  position:relative;overflow:hidden;z-index:1;
}
.kpro-km__hero-left::before{
  content:"";position:absolute;right:-16%;top:-24%;width:60%;height:115%;
  border-radius:999px;background:radial-gradient(closest-side,rgba(72,130,180,.09),rgba(72,130,180,0) 72%);z-index:-1;
}
.kpro-km__hero-title{
  font-size:clamp(36px,3.4vw,56px);font-weight:800;line-height:1.04;
  letter-spacing:-0.035em;color:var(--ink);margin:24px 0 18px;
}
.kpro-km__hero-title b{color:var(--blue);font-weight:800;}
.kpro-km__hero-sub{
  font-size:clamp(18px,1.2vw,22px);line-height:1.5;color:var(--muted);
  margin:0 0 26px;font-weight:500;max-width:640px;
}
.kpro-km__hero-sub b{color:var(--navy);font-weight:800;}
.kpro-km__hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:stretch;margin-bottom:30px;}
.kpro-km__hero-cta .kpro-km__btn{padding:0 34px;min-height:60px;display:inline-flex;align-items:center;}
.kpro-km__hero-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;}
.kpro-km__hero-fact{
  display:flex;align-items:center;gap:12px;min-height:60px;padding:14px 18px;
  border-radius:15px;background:rgba(255,255,255,.84);border:1px solid var(--line);
  box-shadow:0 4px 12px rgba(2,6,23,.025);font-size:15.5px;font-weight:700;
  line-height:1.25;color:rgba(15,23,37,.78);
}
.kpro-km__hero-fact svg{width:20px;height:20px;stroke:var(--blue);fill:none;stroke-width:1.7;flex-shrink:0;}
.kpro-km__hero-right{position:relative;overflow:hidden;min-height:620px;background:#dde5ed;}
.kpro-km__hero-right img{width:100%;height:100%;object-fit:cover;object-position:39% center;filter:saturate(1.03) contrast(1.02);}
.kpro-km__hero-right::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:18%;
  background:linear-gradient(90deg,#f2f8fc 0%,rgba(242,248,252,.6) 30%,rgba(242,248,252,0) 100%);z-index:1;
}

/* «Набор открыт» — переехал вниз, чтобы не конфликтовать со штампом даты */
.kpro-km__badge{
  position:absolute;bottom:22px;right:22px;z-index:2;
  display:flex;align-items:center;gap:7px;
  background:rgba(15,23,37,.58);backdrop-filter:blur(10px);
  color:#fff;font-size:13px;font-weight:800;padding:8px 13px;border-radius:10px;
  box-shadow:0 5px 14px rgba(2,6,23,.16);
}
.kpro-km__badge::before{
  content:"";width:7px;height:7px;border-radius:50%;background:#e23b3b;
  animation:kpro-pulse 1.4s infinite;
}
@keyframes kpro-pulse{0%,100%{opacity:.85;transform:scale(1)}50%{opacity:.45;transform:scale(1.3)}}

/* ===== КРУГЛЫЙ ШТАМП С ДАТОЙ СТАРТА =====
   Позиционируется ВНУТРИ фото: у .kpro-km__hero-right и .kpro-km__hero-inner
   стоит overflow:hidden, поэтому вынести штамп за край нельзя — обрежется. */
.kpro-km__stamp{
  position:absolute;top:20px;right:20px;z-index:3;
  width:96px;height:96px;border-radius:50%;
  border:3px solid #fff;
  background:linear-gradient(140deg,var(--navy),var(--blue));
  color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;
  font-family:"Roboto Condensed",Arial,sans-serif;
  box-shadow:0 14px 34px rgba(15,47,95,.38);
  transform:rotate(7deg);
  animation:kpro-stamp-in .5s cubic-bezier(.2,1.3,.4,1) both;
}
.kpro-km__stamp b{font-size:32px;font-weight:800;line-height:.9;}
.kpro-km__stamp span{
  margin-top:3px;font-size:11px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;line-height:1.05;
}
@keyframes kpro-stamp-in{
  from{opacity:0;transform:rotate(7deg) scale(.4);}
  to{opacity:1;transform:rotate(7deg) scale(1);}
}

.kpro-km__stats{
  display:grid;grid-template-columns:repeat(5,1fr);gap:14px;
  background:linear-gradient(180deg,var(--soft1),var(--soft2));
  border:1px solid var(--line);border-radius:26px;padding:30px;
}
.kpro-km__stat{text-align:center;padding:8px;}
.kpro-km__stat b{display:block;font-family:"Roboto Condensed",Arial,sans-serif;font-size:40px;font-weight:800;color:var(--blue);letter-spacing:-0.02em;line-height:1;}
.kpro-km__stat span{display:block;margin-top:8px;font-size:14px;font-weight:700;color:var(--muted);line-height:1.3;}
@media(max-width:900px){.kpro-km__stats{grid-template-columns:repeat(2,1fr);}}

.kpro-km__box{
  background:linear-gradient(180deg,var(--soft1) 0%,var(--soft2) 100%);
  border:1px solid var(--line);border-radius:30px;
  box-shadow:0 20px 60px rgba(2,6,23,.08);padding:42px 34px 34px;position:relative;overflow:hidden;
}
.kpro-km__box::before{
  content:"";position:absolute;right:-14%;top:-20%;width:44%;height:68%;border-radius:999px;
  background:radial-gradient(closest-side,rgba(72,130,180,.10),rgba(72,130,180,0) 72%);
}
.kpro-km__grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px;position:relative;z-index:1;}
.kpro-km__case{
  position:relative;border-radius:22px;background:#fff;border:1px solid var(--line);
  box-shadow:0 10px 28px rgba(2,6,23,.05);overflow:hidden;padding:30px 28px 50px;min-height:210px;
  transition:transform .18s,box-shadow .18s,border-color .18s;
}
.kpro-km__case:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(72,130,180,.12);border-color:rgba(72,130,180,.22);}
.kpro-km__case-num{
  position:absolute;right:26px;bottom:22px;font-family:"Roboto Condensed",Arial,sans-serif;
  font-size:19px;font-weight:800;letter-spacing:.04em;color:var(--blue);opacity:.55;z-index:1;user-select:none;
}
.kpro-km__case h3{position:relative;z-index:1;margin:0 0 12px;font-size:22px;line-height:1.2;font-weight:800;color:var(--ink);}
.kpro-km__case p{position:relative;z-index:1;margin:0;font-size:16.5px;line-height:1.55;color:var(--muted);font-weight:500;}
.kpro-km__case p strong{color:var(--navy);font-weight:800;}
.kpro-km__box-cta{position:relative;z-index:1;margin-top:26px;}

.kpro-km__tags{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 6px;position:relative;z-index:1;}
.kpro-km__tag{
  display:inline-flex;align-items:center;padding:11px 18px;border-radius:999px;
  background:rgba(72,130,180,.08);border:1px solid rgba(72,130,180,.20);
  color:var(--navy);font-size:15px;font-weight:700;line-height:1;
  font-family:"Roboto Condensed",Arial,sans-serif;
  transition:background .15s,border-color .15s,transform .15s;
}
.kpro-km__tag:hover{background:rgba(72,130,180,.14);border-color:rgba(72,130,180,.34);transform:translateY(-1px);}

.kpro-km__wavy{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='8' viewBox='0 0 42 8'%3E%3Cpath d='M0 5 Q5.25 1 10.5 5 T21 5 T31.5 5 T42 5' fill='none' stroke='%234882B4' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:repeat-x;background-position:left bottom;background-size:auto 8px;padding-bottom:10px;
}
.kpro-km__result2{display:grid;grid-template-columns:minmax(0,1fr) 46%;gap:24px;align-items:stretch;margin-top:30px;}
.kpro-km__checklist{display:flex;flex-direction:column;gap:14px;}
.kpro-km__check{
  flex:1;
  display:grid;grid-template-columns:48px 1fr;gap:16px;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px 24px;
  box-shadow:0 8px 22px rgba(2,6,23,.04);transition:transform .18s,box-shadow .18s,border-color .18s;
}
.kpro-km__check:hover{transform:translateY(-2px);border-color:rgba(72,130,180,.22);box-shadow:0 16px 30px rgba(72,130,180,.11);}
.kpro-km__check-ic{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(72,130,180,.12);}
.kpro-km__check-ic svg{width:24px;height:24px;stroke:var(--blue);fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;}
.kpro-km__check h3{margin:0 0 5px;font-size:20px;line-height:1.2;font-weight:800;color:var(--ink);}
.kpro-km__check p{margin:0;font-size:16px;line-height:1.5;color:var(--muted);font-weight:500;}

.kpro-km__video{
  position:relative;overflow:hidden;border-radius:24px;padding:34px 32px;color:#fff;display:flex;flex-direction:column;
  background:linear-gradient(160deg,#0F2F5F 0%,#1c4368 60%,#2b5887 120%);box-shadow:0 24px 60px rgba(15,47,95,.28);
}
.kpro-km__video::before{content:"";position:absolute;right:-12%;top:-30%;width:50%;height:120%;border-radius:999px;background:radial-gradient(closest-side,rgba(255,255,255,.10),rgba(255,255,255,0) 72%);}
.kpro-km__video-h{position:relative;z-index:1;margin:0 0 6px;font-size:23px;font-weight:800;line-height:1.2;letter-spacing:-0.01em;}
.kpro-km__video-sub{position:relative;z-index:1;margin:0 0 22px;font-size:15px;line-height:1.5;color:rgba(255,255,255,.80);font-weight:500;}
.kpro-km__video-thumb{
  position:relative;z-index:1;margin-top:auto;border-radius:16px;overflow:hidden;aspect-ratio:16/10;
  background:#0b2444;border:1px solid rgba(255,255,255,.14);
}
.kpro-km__video-thumb video{width:100%;height:100%;object-fit:cover;display:block;background:#0b2444;}

.kpro-km__split{display:grid;grid-template-columns:42% minmax(0,1fr);gap:34px;align-items:stretch;}
.kpro-km__media{
  position:relative;min-height:640px;border-radius:30px;overflow:hidden;background:#dde5ed;
  border:1px solid var(--line);box-shadow:0 20px 60px rgba(2,6,23,.10);
}
.kpro-km__media img{width:100%;height:100%;object-fit:cover;object-position:48% center;filter:saturate(1.03) contrast(1.02);}
.kpro-km__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,37,0) 45%,rgba(15,23,37,.34) 100%);}
.kpro-km__media-badge{
  position:absolute;left:22px;bottom:22px;z-index:2;display:inline-flex;align-items:center;gap:9px;
  padding:12px 16px;border-radius:999px;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);
  color:var(--ink);font-size:15px;font-weight:800;box-shadow:0 10px 26px rgba(2,6,23,.16);
}
.kpro-km__media-badge span{width:9px;height:9px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 6px rgba(72,130,180,.14);}
.kpro-km__panel{
  position:relative;border-radius:30px;padding:42px 38px 36px;
  background:linear-gradient(180deg,var(--soft1) 0%,var(--soft2) 100%);
  border:1px solid var(--line);box-shadow:0 20px 60px rgba(2,6,23,.08);overflow:hidden;
}
.kpro-km__panel::before{
  content:"";position:absolute;right:-18%;top:-24%;width:56%;height:54%;border-radius:999px;
  background:radial-gradient(closest-side,rgba(72,130,180,.11),rgba(72,130,180,0) 72%);
}
.kpro-km__list{display:grid;gap:12px;position:relative;z-index:1;}
.kpro-km__row{
  display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;align-items:start;
  padding:22px 24px;border-radius:20px;background:rgba(255,255,255,.86);border:1px solid var(--line);
  box-shadow:0 8px 22px rgba(2,6,23,.04);transition:transform .18s,box-shadow .18s,border-color .18s;
}
.kpro-km__row:hover{transform:translateY(-2px);border-color:rgba(72,130,180,.22);box-shadow:0 16px 30px rgba(72,130,180,.11);}
.kpro-km__row-num{
  width:54px;height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;
  background:rgba(72,130,180,.10);color:var(--blue);font-family:"Roboto Condensed",Arial,sans-serif;
  font-size:20px;font-weight:800;border:1px solid rgba(72,130,180,.18);
}
.kpro-km__row h3{margin:0 0 7px;font-size:21px;line-height:1.2;font-weight:800;color:var(--ink);}
.kpro-km__row p{margin:0;font-size:16.5px;line-height:1.55;color:var(--muted);font-weight:500;}

.kpro-km__format{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px;}
.kpro-km__fcard{
  background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px 26px;
  box-shadow:0 10px 28px rgba(2,6,23,.05);transition:transform .18s,box-shadow .18s,border-color .18s;
}
.kpro-km__fcard:hover{transform:translateY(-3px);border-color:rgba(72,130,180,.22);box-shadow:0 18px 34px rgba(72,130,180,.12);}
.kpro-km__fcard svg{width:30px;height:30px;stroke:var(--blue);fill:none;stroke-width:1.7;margin-bottom:14px;}
.kpro-km__fcard h3{margin:0 0 8px;font-size:20px;font-weight:800;color:var(--ink);line-height:1.2;}
.kpro-km__fcard p{margin:0;font-size:16px;line-height:1.55;color:var(--muted);font-weight:500;}

.kpro-km__prog{display:grid;gap:14px;margin-top:30px;}
.kpro-km__mod{
  background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;
  box-shadow:0 8px 22px rgba(2,6,23,.04);transition:border-color .18s,box-shadow .18s;
}
.kpro-km__mod[open]{border-color:rgba(72,130,180,.30);box-shadow:0 16px 34px rgba(72,130,180,.10);}
.kpro-km__mod summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;gap:20px;padding:24px 26px;
}
.kpro-km__mod summary::-webkit-details-marker{display:none;}
.kpro-km__mod-tag{
  flex-shrink:0;width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  background:rgba(72,130,180,.10);color:var(--blue);font-family:"Roboto Condensed",Arial,sans-serif;
  font-weight:800;font-size:22px;border:1px solid rgba(72,130,180,.18);
}
.kpro-km__mod-h{flex:1;}
.kpro-km__mod-h b{display:block;font-size:21px;font-weight:800;color:var(--ink);line-height:1.25;}
.kpro-km__mod-h span{display:block;margin-top:4px;font-size:14px;font-weight:700;color:var(--blue);font-family:"Roboto Condensed",Arial,sans-serif;}
.kpro-km__chev{flex-shrink:0;width:22px;height:22px;stroke:var(--blue);fill:none;stroke-width:2.2;transition:transform .2s;}
.kpro-km__mod[open] .kpro-km__chev{transform:rotate(180deg);}
.kpro-km__mod-body{padding:0 26px 26px 98px;}
.kpro-km__mod-body li{
  list-style:none;position:relative;padding:10px 0 10px 26px;font-size:16.5px;line-height:1.5;color:var(--muted);
  border-top:1px solid var(--line);font-weight:500;
}
.kpro-km__mod-body li:first-child{border-top:none;}
.kpro-km__mod-body li::before{
  content:"";position:absolute;left:0;top:17px;width:8px;height:8px;border-radius:50%;
  background:rgba(72,130,180,.5);box-shadow:0 0 0 4px rgba(72,130,180,.10);
}
.kpro-km__mod-body strong{color:var(--ink);font-weight:700;}

.kpro-km__teachers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px;}
.kpro-km__tcard{
  background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px 24px 28px;
  box-shadow:0 10px 28px rgba(2,6,23,.05);transition:transform .18s,box-shadow .18s,border-color .18s;
  text-align:center;
}
.kpro-km__tcard:hover{transform:translateY(-3px);border-color:rgba(72,130,180,.22);box-shadow:0 18px 34px rgba(72,130,180,.12);}
.kpro-km__tavatar{
  width:110px;height:110px;border-radius:50%;overflow:hidden;flex-shrink:0;
  background:#dde5ed;border:1px solid rgba(72,130,180,.20);margin:0 auto 18px;
}
.kpro-km__tavatar img{width:100%;height:100%;object-fit:cover;object-position:center 20%;}
.kpro-km__tcard h3{margin:0 0 4px;font-size:20px;font-weight:800;color:var(--ink);}
.kpro-km__tcard .kpro-km__trole{margin:0 0 12px;font-size:14px;font-weight:800;color:var(--blue);font-family:"Roboto Condensed",Arial,sans-serif;}
.kpro-km__tcard p{margin:0;font-size:15.5px;line-height:1.5;color:var(--muted);font-weight:500;}

.kpro-km__transform{margin-top:30px;display:grid;gap:14px;}
.kpro-km__transform-heads{display:grid;grid-template-columns:1fr 64px 1fr;gap:18px;padding:0 4px;margin-bottom:2px;}
.kpro-km__th{
  font-family:"Roboto Condensed",Arial,sans-serif;font-weight:800;font-size:14px;
  text-transform:uppercase;letter-spacing:.06em;display:inline-flex;align-items:center;gap:10px;
}
.kpro-km__th::before{content:"";width:9px;height:9px;border-radius:50%;}
.kpro-km__th--was{color:var(--muted);}
.kpro-km__th--was::before{background:rgba(15,23,37,.22);}
.kpro-km__th--now{color:var(--blue);}
.kpro-km__th--now::before{background:var(--blue);box-shadow:0 0 0 5px rgba(72,130,180,.14);}

.kpro-km__trow{display:grid;grid-template-columns:1fr 64px 1fr;gap:18px;align-items:stretch;}
.kpro-km__tcell{
  display:flex;align-items:center;gap:16px;padding:22px 24px;border-radius:20px;
  font-size:16.5px;line-height:1.45;font-weight:600;
  transition:transform .18s,box-shadow .18s,border-color .18s;
}
.kpro-km__tcell b{font-weight:800;color:inherit;}
.kpro-km__tcell-txt{min-width:0;}
.kpro-km__tlabel{display:none;font-family:"Roboto Condensed",Arial,sans-serif;font-weight:800;font-size:11px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;}
.kpro-km__tcell--was .kpro-km__tlabel{color:rgba(15,23,37,.45);}
.kpro-km__tcell--now .kpro-km__tlabel{color:var(--blue);}
.kpro-km__tcell--was{background:#fff;border:1px solid var(--line);color:var(--muted);box-shadow:0 6px 18px rgba(2,6,23,.04);}
.kpro-km__tcell--now{
  background:linear-gradient(135deg,#f3f8fc,#eaf3fa);border:1px solid rgba(72,130,180,.28);
  color:var(--navy);box-shadow:0 12px 30px rgba(72,130,180,.12);
}
.kpro-km__trow:hover .kpro-km__tcell--now{transform:translateY(-2px);box-shadow:0 18px 40px rgba(72,130,180,.20);}
.kpro-km__tcell-ic{width:44px;height:44px;border-radius:13px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.kpro-km__tcell-ic svg{width:22px;height:22px;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.kpro-km__tcell--was .kpro-km__tcell-ic{background:rgba(15,23,37,.05);}
.kpro-km__tcell--was .kpro-km__tcell-ic svg{stroke:rgba(15,23,37,.40);}
.kpro-km__tcell--now .kpro-km__tcell-ic{background:rgba(72,130,180,.14);}
.kpro-km__tcell--now .kpro-km__tcell-ic svg{stroke:var(--blue);}

.kpro-km__tarrow{
  justify-self:center;align-self:center;width:48px;height:48px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#4882B4,#3a6d96);box-shadow:0 8px 20px rgba(72,130,180,.30);
}
.kpro-km__tarrow svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;}

.kpro-km__dest{
  position:relative;overflow:hidden;margin-top:6px;border-radius:26px;
  padding:38px clamp(26px,4vw,46px);color:#fff;
  background:linear-gradient(150deg,#0F2F5F 0%,#234e7e 55%,#4882B4 130%);
  box-shadow:0 24px 60px rgba(15,47,95,.28);
  display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:34px;align-items:center;
}
.kpro-km__dest::before{
  content:"";position:absolute;right:-10%;top:-40%;width:46%;height:160%;border-radius:999px;
  background:radial-gradient(closest-side,rgba(255,255,255,.12),rgba(255,255,255,0) 72%);
}
.kpro-km__dest-photo{position:relative;z-index:1;}
.kpro-km__dest-photo img{
  width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:20px;
  border:3px solid rgba(255,255,255,.22);box-shadow:0 18px 40px rgba(2,6,23,.30);
}
.kpro-km__dest-l{position:relative;z-index:1;}
.kpro-km__dest-l span{
  font-family:"Roboto Condensed",Arial,sans-serif;font-weight:800;font-size:20px;
  letter-spacing:.10em;text-transform:uppercase;color:rgba(255,255,255,.82);
}
.kpro-km__dest-l h3{margin:8px 0 0;font-size:30px;line-height:1.12;font-weight:800;letter-spacing:-0.02em;}
.kpro-km__dest-chips{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start;margin-top:22px;}
.kpro-km__chip{
  display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);
  font-size:13px;font-weight:700;color:#fff;backdrop-filter:blur(6px);
}
.kpro-km__chip svg{width:13px;height:13px;stroke:#fff;fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;}

@media(max-width:860px){
  .kpro-km__transform-heads{display:none;}
  .kpro-km__transform{gap:16px;}
  .kpro-km__trow{
    grid-template-columns:1fr;gap:6px;
    background:#fff;border:1px solid var(--line);border-radius:20px;
    padding:8px;box-shadow:0 8px 22px rgba(2,6,23,.05);
  }
  .kpro-km__tcell{
    padding:14px 12px;font-size:15.5px;align-items:flex-start;
    background:none!important;border:none!important;box-shadow:none!important;
  }
  .kpro-km__trow:hover .kpro-km__tcell--now{transform:none;box-shadow:none;}
  .kpro-km__tcell--now{background:rgba(72,130,180,.07)!important;border-radius:14px!important;}
  .kpro-km__tcell-ic{width:38px;height:38px;border-radius:11px;}
  .kpro-km__tcell-ic svg{width:19px;height:19px;}
  .kpro-km__tlabel{display:block;}
  .kpro-km__tarrow{transform:rotate(90deg);width:34px;height:34px;margin:0 auto;box-shadow:0 6px 14px rgba(72,130,180,.28);}
  .kpro-km__tarrow svg{width:16px;height:16px;}
  .kpro-km__dest{grid-template-columns:1fr;gap:22px;padding:30px 22px;}
  .kpro-km__dest-photo{order:-1;max-width:260px;margin:0 auto;}
  .kpro-km__dest-chips{justify-content:flex-start;max-width:none;}
  .kpro-km__dest-l h3{font-size:24px;}
}

.kpro-km__faq{display:grid;gap:12px;margin-top:30px;max-width:100%;}
.kpro-km__q{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:border-color .18s,box-shadow .18s;}
.kpro-km__q[open]{border-color:rgba(72,130,180,.30);box-shadow:0 14px 30px rgba(72,130,180,.08);}
.kpro-km__q summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:22px 24px;font-size:19px;font-weight:800;color:var(--ink);}
.kpro-km__q summary::-webkit-details-marker{display:none;}
.kpro-km__q summary svg{margin-left:auto;flex-shrink:0;width:20px;height:20px;stroke:var(--blue);fill:none;stroke-width:2.4;transition:transform .2s;}
.kpro-km__q[open] summary svg{transform:rotate(45deg);}
.kpro-km__q-a{padding:0 24px 24px;font-size:16.5px;line-height:1.6;color:var(--muted);font-weight:500;}
.kpro-km__q-a strong{color:var(--navy);font-weight:700;}

.kpro-km__docs{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:30px;}
.kpro-km__doc{
  display:grid;grid-template-columns:56px 1fr;gap:18px;align-items:start;
  background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px 26px;box-shadow:0 10px 28px rgba(2,6,23,.05);
}
.kpro-km__doc-ic{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:rgba(72,130,180,.10);border:1px solid rgba(72,130,180,.18);}
.kpro-km__doc-ic svg{width:28px;height:28px;stroke:var(--blue);fill:none;stroke-width:1.7;}
.kpro-km__doc h3{margin:0 0 7px;font-size:20px;font-weight:800;color:var(--ink);line-height:1.2;}
.kpro-km__doc p{margin:0;font-size:16px;line-height:1.5;color:var(--muted);font-weight:500;}

.kpro-km__cta-box{
  position:relative;overflow:hidden;border-radius:30px;padding:54px clamp(28px,5vw,72px);
  background:linear-gradient(150deg,#0F2F5F 0%,#234e7e 55%,#4882B4 130%);color:#fff;
  box-shadow:0 28px 70px rgba(15,47,95,.30);
}
.kpro-km__cta-box::before{content:"";position:absolute;right:-12%;top:-30%;width:50%;height:120%;border-radius:999px;background:radial-gradient(closest-side,rgba(255,255,255,.12),rgba(255,255,255,0) 72%);}
.kpro-km__cta-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:40px;align-items:center;}
.kpro-km__cta-grid .kpro-km__pill{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.22);color:#fff;}
.kpro-km__cta-grid .kpro-km__dot{background:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.18);}
.kpro-km__cta-h{margin:18px 0 14px;font-size:38px;line-height:1.1;font-weight:800;letter-spacing:-0.025em;}
.kpro-km__cta-p{margin:0;font-size:18px;line-height:1.55;color:rgba(255,255,255,.82);font-weight:500;max-width:520px;}
.kpro-km__form{background:#fff;border-radius:22px;padding:30px;box-shadow:0 24px 60px rgba(2,6,23,.30);}
.kpro-km__form h3{margin:0 0 6px;color:var(--ink);font-size:22px;font-weight:800;}
.kpro-km__form p{margin:0 0 18px;color:var(--muted);font-size:15px;font-weight:500;line-height:1.45;}
.kpro-km__field{width:100%;height:52px;border:1px solid var(--line);border-radius:13px;padding:0 16px;font-size:16px;font-family:"Roboto",Arial,sans-serif;color:var(--ink);margin-bottom:12px;background:#fbfcfe;transition:border-color .15s,box-shadow .15s;}
.kpro-km__field:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(72,130,180,.14);background:#fff;}
.kpro-km__form .kpro-km__btn{width:100%;padding:18px;font-size:18px;}
.kpro-km__consent{display:flex;gap:9px;align-items:flex-start;margin:6px 0 14px;font-size:12.5px;line-height:1.4;color:var(--muted);}
.kpro-km__consent input{margin-top:2px;accent-color:var(--blue);width:16px;height:16px;flex-shrink:0;}
.kpro-km__consent a{color:var(--blue);}

.kpro-km__footer{padding:36px 0 48px;border-top:1px solid var(--line);margin-top:60px;}
.kpro-km__footer p{margin:0 0 6px;font-size:14px;color:var(--muted);line-height:1.5;}
.kpro-km__footer b{color:var(--ink);}

.kpro-km__reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;}
.kpro-km__reveal.is-in{opacity:1;transform:none;}

@media(max-width:1200px){
  .kpro-km__h2{font-size:36px;}
  .kpro-km__lead{font-size:18px;}
  .kpro-km__grid3,.kpro-km__teachers,.kpro-km__format{grid-template-columns:repeat(2,1fr);}
  .kpro-km__hero-inner{grid-template-columns:minmax(0,1fr) 42%;}
}
@media(max-width:1000px){
  .kpro-km__hero-inner{grid-template-columns:1fr;}
  .kpro-km__hero-right{min-height:340px;order:-1;}
  .kpro-km__split{grid-template-columns:1fr;}
  .kpro-km__result2{grid-template-columns:1fr;}
  .kpro-km__media{min-height:340px;}
  .kpro-km__cta-grid{grid-template-columns:1fr;}
}

/* ==========================================================================
   МОБИЛЬНАЯ КОМПАКТНОСТЬ (≤760px)
   Типографика и отступы приведены к пропорциям эталонного лендинга:
   заголовки ~23px, текст карточек ~14.5px, тайтлы карточек ~17px,
   вертикальные отступы секций 30px, паддинги карточек 18/17px.
   ========================================================================== */
@media(max-width:760px){
  /* --- сетка и общая типографика --- */
  .kpro-km__section{padding:30px 0;}
  .kpro-km__wrap{padding:0 16px;}
  .kpro-km__h2{font-size:23px;line-height:1.16;margin:11px 0 10px;}
  .kpro-km__lead{font-size:15.5px;line-height:1.55;}
  .kpro-km__pill{font-size:12.5px;padding:7px 12px;gap:7px;}
  .kpro-km__dot{width:7px;height:7px;box-shadow:0 0 0 4px rgba(72,130,180,.14);}
  .kpro-km__btn{font-size:16px;padding:14px 24px;border-radius:12px;}

  /* --- шапка --- */
  .kpro-km__nav-in{height:56px;gap:12px;}
  .kpro-km__logo{height:36px;}
  .kpro-km__brand{font-size:15px;}
  .kpro-km__brand span{font-size:10px;}
  .kpro-km__nav .kpro-km__btn{padding:10px 16px;font-size:13.5px;border-radius:10px;}

  /* --- hero --- */
  .kpro-km__hero{padding:20px 0 0;}
  .kpro-km__hero-inner{border-radius:18px;min-height:0;}
  .kpro-km__hero-left{padding:26px 18px 24px;}
  .kpro-km__hero-title{font-size:26px;line-height:1.12;margin:14px 0 10px;letter-spacing:-0.02em;}
  .kpro-km__hero-sub{font-size:15.5px;line-height:1.5;margin-bottom:18px;}
  .kpro-km__hero-cta{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:20px;}
  .kpro-km__hero-cta .kpro-km__btn{width:100%;min-height:52px;padding:0 20px;}
  .kpro-km__hero-facts{grid-template-columns:1fr;gap:9px;}
  .kpro-km__hero-fact{font-size:14px;min-height:0;padding:12px 14px;border-radius:12px;gap:10px;}
  .kpro-km__hero-fact svg{width:18px;height:18px;}
  .kpro-km__hero-right{min-height:290px;}
  .kpro-km__stamp{width:74px;height:74px;top:14px;right:14px;border-width:2px;}
  .kpro-km__stamp b{font-size:25px;}
  .kpro-km__stamp span{font-size:9.5px;margin-top:2px;}
  .kpro-km__badge{font-size:11.5px;padding:6px 10px;bottom:14px;right:14px;border-radius:8px;}

  /* --- статистика --- */
  .kpro-km__stats{grid-template-columns:repeat(2,1fr);padding:18px;gap:10px;border-radius:18px;}
  .kpro-km__stat{padding:5px;}
  .kpro-km__stat b{font-size:29px;}
  .kpro-km__stat span{font-size:12.5px;margin-top:5px;}

  /* --- панели-контейнеры --- */
  .kpro-km__box,.kpro-km__panel{padding:22px 17px 20px;border-radius:16px;}

  /* --- карточки «узнаёте себя» --- */
  .kpro-km__grid3{grid-template-columns:1fr;gap:11px;margin-top:17px;}
  .kpro-km__case{padding:18px 17px 36px;min-height:0;border-radius:14px;}
  .kpro-km__case h3{font-size:17px;margin-bottom:7px;}
  .kpro-km__case p{font-size:14.5px;line-height:1.5;}
  .kpro-km__case-num{font-size:16px;right:17px;bottom:14px;}
  .kpro-km__box-cta{margin-top:17px;}

  /* --- теги --- */
  .kpro-km__tags{gap:7px;margin:15px 0 4px;}
  .kpro-km__tag{font-size:14.5px;padding:9px 13px;}

  /* --- чек-лист «что даст обучение» --- */
  .kpro-km__result2{gap:11px;margin-top:17px;}
  .kpro-km__checklist{gap:10px;}
  .kpro-km__check{grid-template-columns:38px 1fr;gap:12px;padding:16px 15px;border-radius:14px;}
  .kpro-km__check-ic{width:38px;height:38px;}
  .kpro-km__check-ic svg{width:19px;height:19px;}
  .kpro-km__check h3{font-size:17px;margin-bottom:4px;}
  .kpro-km__check p{font-size:14.5px;line-height:1.5;}

  /* --- видео-блок --- */
  .kpro-km__video{padding:20px 18px;border-radius:16px;}
  .kpro-km__video-h{font-size:18.5px;}
  .kpro-km__video-sub{font-size:14px;margin-bottom:16px;}
  .kpro-km__video-thumb{border-radius:12px;}

  /* --- «для кого» --- */
  .kpro-km__split{gap:14px;}
  .kpro-km__media{min-height:250px;border-radius:16px;}
  .kpro-km__media-badge{font-size:13px;padding:9px 13px;left:14px;bottom:14px;}
  .kpro-km__list{gap:10px;}
  .kpro-km__row{grid-template-columns:44px minmax(0,1fr);gap:12px;padding:16px 15px;border-radius:14px;}
  .kpro-km__row-num{width:36px;height:36px;border-radius:10px;font-size:15px;}
  .kpro-km__row h3{font-size:17px;margin-bottom:5px;}
  .kpro-km__row p{font-size:14.5px;line-height:1.5;}

  /* --- формат обучения --- */
  .kpro-km__format{grid-template-columns:1fr;gap:11px;margin-top:17px;}
  .kpro-km__fcard{padding:18px 17px;border-radius:14px;}
  .kpro-km__fcard svg{width:24px;height:24px;margin-bottom:10px;}
  .kpro-km__fcard h3{font-size:17px;margin-bottom:6px;}
  .kpro-km__fcard p{font-size:14.5px;line-height:1.5;}

  /* --- программа (аккордеон) --- */
  .kpro-km__prog{gap:10px;margin-top:17px;}
  .kpro-km__mod{border-radius:14px;}
  .kpro-km__mod summary{padding:15px 15px;gap:12px;}
  .kpro-km__mod-tag{width:38px;height:38px;border-radius:10px;font-size:17px;}
  .kpro-km__mod-h b{font-size:17px;line-height:1.22;}
  .kpro-km__mod-h span{font-size:12.5px;margin-top:3px;}
  .kpro-km__chev{width:18px;height:18px;}
  .kpro-km__mod-body{padding:0 15px 16px 15px;}
  .kpro-km__mod-body li{font-size:14.5px;line-height:1.5;padding:9px 0 9px 22px;}
  .kpro-km__mod-body li::before{width:7px;height:7px;top:15px;box-shadow:0 0 0 3px rgba(72,130,180,.10);}

  /* --- преподаватели --- */
  .kpro-km__teachers{grid-template-columns:1fr;gap:11px;margin-top:17px;}
  .kpro-km__tcard{padding:22px 18px 20px;border-radius:14px;}
  .kpro-km__tavatar{width:88px;height:88px;margin-bottom:13px;}
  .kpro-km__tcard h3{font-size:18px;}
  .kpro-km__tcard .kpro-km__trole{font-size:13px;margin-bottom:9px;}
  .kpro-km__tcard p{font-size:14.5px;line-height:1.5;}

  /* --- «до / после» --- */
  .kpro-km__transform{margin-top:17px;gap:11px;}
  .kpro-km__tcell{font-size:14.5px;line-height:1.45;}
  .kpro-km__tlabel{font-size:10.5px;}
  .kpro-km__dest{padding:24px 18px;border-radius:16px;gap:18px;}
  .kpro-km__dest-l span{font-size:15px;}
  .kpro-km__dest-l h3{font-size:21px;}
  .kpro-km__dest-chips{gap:7px;margin-top:15px;}
  .kpro-km__chip{font-size:12px;padding:6px 11px;}
  .kpro-km__dest-photo{max-width:220px;}

  /* --- документы --- */
  .kpro-km__docs{grid-template-columns:1fr;gap:11px;margin-top:17px;}
  .kpro-km__doc{grid-template-columns:44px 1fr;gap:13px;padding:18px 17px;border-radius:14px;}
  .kpro-km__doc-ic{width:44px;height:44px;border-radius:12px;}
  .kpro-km__doc-ic svg{width:22px;height:22px;}
  .kpro-km__doc h3{font-size:17px;margin-bottom:5px;}
  .kpro-km__doc p{font-size:14.5px;line-height:1.5;}

  /* --- CTA + форма --- */
  .kpro-km__cta-box{padding:26px 18px;border-radius:18px;}
  .kpro-km__cta-grid{gap:20px;}
  .kpro-km__cta-h{font-size:23px;line-height:1.16;margin:13px 0 10px;}
  .kpro-km__cta-p{font-size:15.5px;line-height:1.5;}
  .kpro-km__form{padding:20px 17px;border-radius:16px;}
  .kpro-km__form h3{font-size:19px;}
  .kpro-km__form p{font-size:14px;margin-bottom:14px;}
  .kpro-km__field{height:48px;font-size:15.5px;border-radius:11px;padding:0 14px;}
  .kpro-km__form .kpro-km__btn{padding:15px;font-size:16px;}

  /* --- FAQ --- */
  .kpro-km__faq{gap:10px;margin-top:17px;}
  .kpro-km__q{border-radius:12px;}
  .kpro-km__q summary{font-size:15.5px;padding:15px 15px;gap:12px;}
  .kpro-km__q summary svg{width:17px;height:17px;}
  .kpro-km__q-a{font-size:14.5px;line-height:1.55;padding:0 15px 16px;}

  /* --- футер --- */
  .kpro-km__footer{padding:24px 0 32px;margin-top:34px;}
  .kpro-km__footer p{font-size:13px;}
}

@media(prefers-reduced-motion:reduce){
  .kpro-km *{animation:none!important;transition:none!important;}
  .kpro-km__reveal{opacity:1;transform:none;}
}

/* ==========================================================================
   Contact Form 7 в лендинге «Кинезиомассаж»

   Учитывает блок согласий .kinesio-consent-*, который вставляется в форму
   автоматически вместе со своим inline <style>. Тот <style> идёт в DOM
   позже этого файла и весит !important — поэтому здесь повышенная
   специфичность (.kpro-km__form + класс) и !important там, где нужно.
   ========================================================================== */

/* Шаг сетки формы — меняйте одно значение, если нужно плотнее/свободнее */
.kpro-km__form{--kpro-gap:10px;}
/* Селектор с .kpro-km специально «тяжелее»: иначе правило выше,
   которое идёт позже в файле, перебило бы мобильное значение */
@media(max-width:760px){
  .kpro-km .kpro-km__form{--kpro-gap:8px;}
}

/* --- 1. Текстовые поля и отступы между ними ------------------------------ */

/* CF7 оборачивает каждую строку формы в <p> — обнуляем его отступы,
   иначе они складываются с margin самих полей */
.kpro-km__form form > p{margin:0 !important;}

/* CF7 оборачивает каждый инпут в inline <span class="wpcf7-form-control-wrap">:
   делаем его блоком и переносим на него весь вертикальный зазор */
.kpro-km__form .wpcf7-form-control-wrap{
  display:block;
  width:100%;
  margin:0 0 var(--kpro-gap);
}

.kpro-km__form .kpro-km__field{
  width:100%;
  margin-bottom:0 !important;
}

/* Заголовок формы и подпись под ним */
.kpro-km__form h3{margin:0 0 6px;}
.kpro-km__form form > p:first-of-type{margin-bottom:16px !important;}

/* Пустые <p>, которые autop делает вокруг скрытых UTM-полей */
.kpro-km__form form > p:empty{display:none;}

/* --- 2. Блок согласий (приходит автоматически) --------------------------- */

.kpro-km__form .kinesio-consent-final{margin:6px 0 16px !important;}

.kpro-km__form .kinesio-consent-item{padding-top:0 !important;}
.kpro-km__form .kinesio-consent-item + .kinesio-consent-item{margin-top:9px !important;}

/* Их <p> уже flex; добавляем перенос, чтобы подсказка об ошибке
   не втискивалась в строку с чекбоксом */
.kpro-km__form .kinesio-consent-item p{
  flex-wrap:wrap !important;
  line-height:1.45 !important;
}

/* ВАЖНО: идёт после правила из блока 1, иначе оно добавит чекбоксу
   лишний margin-bottom и развалит выравнивание */
.kpro-km__form .kinesio-consent-item .wpcf7-form-control-wrap{
  display:inline-block !important;
  width:auto !important;
  margin:0 9px 0 0 !important;
}

.kpro-km__form .kinesio-consent-item input[type="checkbox"]{
  width:15px !important;
  height:15px !important;
  margin:2px 0 0 !important;
  accent-color:var(--blue);
  flex-shrink:0 !important;
}

/* display:inline, а НЕ none — иначе текст согласия исчезает */
.kpro-km__form .kinesio-consent-item .wpcf7-list-item-label{
  display:inline !important;
  font-size:13.5px !important;
  line-height:1.45 !important;
  color:#5b6472 !important;
}
@media(max-width:760px){
  .kpro-km .kpro-km__form .kinesio-consent-item .wpcf7-list-item-label{font-size:12.5px !important;}
}

.kpro-km__form .kinesio-consent-item a{
  color:var(--navy) !important;
  text-decoration:underline !important;
  text-underline-offset:2px;
}

/* --- 3. Валидация -------------------------------------------------------- */

.kpro-km__form .wpcf7-not-valid{border-color:#e05252 !important;}

.kpro-km__form .wpcf7-not-valid-tip{
  display:block;
  width:100%;
  flex-basis:100%;
  margin:5px 0 0;
  font-size:13px;
  line-height:1.4;
  color:#e05252;
}

.kpro-km__form .kinesio-consent-item:has(.wpcf7-not-valid) .wpcf7-list-item-label{color:#e05252 !important;}

.kpro-km__form .wpcf7-response-output{
  margin:14px 0 0 !important;
  padding:12px 14px;
  border:1px solid currentColor;
  border-radius:10px;
  font-size:14px;
  line-height:1.45;
}
.kpro-km__form .sent       .wpcf7-response-output{color:#2e7d4f;}
.kpro-km__form .invalid    .wpcf7-response-output,
.kpro-km__form .unaccepted .wpcf7-response-output,
.kpro-km__form .failed     .wpcf7-response-output{color:#e05252;}

/* --- 4. Кнопка и спиннер ------------------------------------------------- */

.kpro-km__form input[type="submit"].kpro-km__btn{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  width:100%;
  cursor:pointer;
}

.kpro-km__form .wpcf7-spinner{
  display:inline-block;
  vertical-align:middle;
  margin-left:10px;
}