@charset "utf-8";

* {margin:0; padding:0;}
html, body {scrollbar-gutter: stable;}
html {position: relative; height: 100%;}
body {width: 100%;min-width: 320px;
      font-family: "PT Serif", serif;font-size:17px;
      -webkit-text-size-adjust: none;color:#000000;}
:root {
        --primary: #2c63ff;
        
      }
body.hide {overflow:hidden;}
.wrapper {
      position:relative;
      background:#fff;
      /* overflow:hidden; */
}
header, main, footer {
      padding:0px; 
}
a {color:var(--primary);}
a, button, .share-close {-webkit-transition: all 0.3s; -moz-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s;}
p {line-height:1.5;}
.container {position:relative; }

.one-page h1 {font-size:60px; line-height:0.9; text-align:center;}
.container.gray {background:#edf1ff;}
.container.gray-2 {background:#f2f2f2;}
.container.gray-3 {background:#edf5fb;}
.container-item {
      margin:0 auto;
      max-width:1200px;
      padding:80px 40px;
      position:relative; z-index:1;
      display:flex; flex-direction:column; gap:40px;
}

header {position:fixed; background:#00144b;right:0; left:0; top:0; z-index:10;  }
header .container-item {padding:0px 40px; height:56px; display:flex; gap:10px; flex-direction:row;}
header .logo {white-space: nowrap; color:#fff; text-decoration:none; display:flex;
             align-items:center; font-size:30px;}

/*----- NAV -----*/
.top-menu {display:flex;  position:relative;  justify-content:space-between;  gap:10px; right:0; 
           align-items:center; width:100%;}
.top-menu::-webkit-scrollbar {display: none;}
.top-menu-list {display:flex;gap:26px;font-size:19px;font-weight:400;flex-wrap:nowrap; align-items:center;
                width:100%; justify-content:center;}
.top-menu-list li {list-style:none;}
.top-menu-list li a {color:#fff; text-decoration:none; padding:12px 0px; display:flex; gap:7px;
                     align-items:center; cursor:pointer; position:relative; z-index:1; }
.top-menu-list li.parent > a {pointer-events:auto; }
.top-menu-list li a i {font-size:8px; transition:all 0.5s; margin-top:2px;}
.top-menu-list li ul {position:absolute; background:#ffffff; border-radius:12px; padding:6px; 
                      margin:10px 0 0 -20px;
                      gap:0px; display:flex; flex-direction:column; font-size:14px; z-index:0;
                     box-shadow:0px 10px 10px #0000002b; border:1px solid #ccc;
                     max-width:240px; min-width:180px;} 
.top-menu-list li ul:before {content:""; position:absolute; height:10px; top:-10px;
                             left:20px; right:20px;}
.top-menu-list li ul li a {padding:6px 10px; display:block; border-radius:8px;
                          color:#000; font-size:18px; line-height:1.2; text-wrap:balance;}
.top-menu-list li ul li.active a {color:var(--primary); background:#eaeaea;}
.top-menu-list li .programs-list li a {gap:10px;}
.top-menu-list li .programs-list li a i {font-size:14px; color:var(--primary); margin-top:0;}

/*------ menu icons ---------*/
.top-menu-list > li > a span {display:flex; align-items:center; gap:10px;}
.top-menu-list > li > a span i {font-size:15px;}

/*---------------*/

.header-actions {display:flex; gap:10px; align-items:center;}


/**** Buttons ****/
button {font-family: "PT Serif", serif; transition:all 0.3s; background:none; font-size:18px;}
.btn-solid, .btn-min-solid, .btn-outline, .btn-min-outline   {display: inline-flex; align-items: center; 
  justify-content: center; border-radius: 10px;
  cursor: pointer; transition: all 0.3s; text-decoration: none; gap: 8px; border:0;
}
.btn-solid {padding: 16px 30px; font-weight:500 !important; font-size:18px; border-radius: 16px;}
.btn-min-solid {padding: 8px 16px; gap: 5px; font-weight:400 !important;}
.btn-outline {border: 2px solid; padding: 14px 30px; font-weight:500 !important; font-size:18px; border-radius: 16px;}
.btn-min-outline {border: 1px solid; padding: 7px 16px; gap: 5px; font-weight:400 !important;}

.btn-solid, .btn-min-solid {background: var(--primary); color: #fff;}
.btn-outline, .btn-min-outline {border-color: var(--primary); color: #2c63ff;}
.video-bg .btn-outline, .video-bg .btn-min-outline {border-color: var(--primary); color: #ffffff;}
.btn-solid i, .btn-min-solid i {color:#fff; transition: all 0.3s;}
.btn-outline i, .btn-min-outline i {color:var(--primary); transition: all 0.3s;}
.btn-solid img, .btn-min-solid img {height:16px; top:2px; position:relative;}

.btn-solid.blue, .btn-min-solid.blue {background: var(--blue);}
.btn-outline.blue, .btn-min-outline.blue {border-color: var(--blue);}

.btn-min-solid .fa-caret-down, .btn-solid .fa-caret-down {font-size:8px; color:#000000;}
.btn-min-outline .fa-caret-down, .btn-outline .fa-caret-down {font-size:8px; color:#fff;}
.btn-group {display:flex; flex-wrap:wrap; justify-content:center; gap:20px;}
.input__min .btn-min-solid {border-radius:10px; font-size:16px; padding:12px 14px;}

.btn-min-solid.yellow {background:#3b3b3b; color:#ffeb3b;}
.btn-min-solid.yellow i {color:#ffeb3b;}
.btn-min-solid.yellow.active {color:#000; background:var(--primary);}
.btn-min-solid.yellow.active i {color:#000 !important;}
.btn-min-solid.red, .btn-solid.red {background:#ff0000; color:#ffffff;}
.btn-min-solid.red i, .btn-solid.red i {color:#ffffff;}
/***************************/

main {margin-top:56px;/* overflow:hidden; */background: #fff;}
.breadcrumbs-wrapper .container-item {
      padding:0px 40px 20px 40px; margin-top:20px;
}
.breadcrumb {display:flex; gap:6px 16px; flex-wrap:wrap; font-size:24px; justify-content:center; text-align:center;}
.breadcrumb li {display:flex; align-items:center; gap:12px;}
.breadcrumb li a {text-decoration:none; padding:0; color:#ffffff;}
.breadcrumb li a:hover { color:var(--color-1);}
.breadcrumb li span {color:#999;}
.breadcrumb li i {color:#999; font-size:16px; margin-top:4px;}
.breadcrumb li br {display:none;}

/****** HEADER HOME ********/
.header-home-top {background:url(../img/water.jpg) no-repeat center center; background-size:cover;
                 text-align:center; color:#fff;}
.header-home-top:after {content:""; background:#002079;
   position:absolute; top:0; right:0; bottom:0; left:0;
  opacity:0.6;  
}
.header-home {
   position:relative; overflow:hidden;
   background-repeat:no-repeat; background-size:cover;
   background-position:center center; color:#fff;
   background-color:#002078; 
}
.header-home:after {
  content:"";
  background:#001656;
  background-size:cover; position:absolute; top:0; right:0; bottom:0; left:0;
  opacity:0.6; z-index:1; 
}
.header-home .container-item {padding:70px 40px; position:relative; z-index:2; text-align:center;}

.header-content {
   position:relative;
   z-index:2;
   flex-direction:column;
   display:flex;
   gap:30px;
   align-items:center;
}
.header-content h1 {
  font-size:60px; font-weight:900;
  line-height:1.0; text-wrap:balance; 
}
.header-content h2 {  
    font-size: 48px;
    font-weight: 900; line-height:1; 
}
.header-content  p {font-size:24px; font-weight:300; text-align:center;}

.header-btn { display:flex; gap:10px; flex-wrap:wrap;}
.header-btn a {text-decoration:none; color:#000; background:var(--color-1); border-radius:30px;
               padding:10px 20px; display:flex; align-items:center; gap:10px; font-weight:500;}
.header-btn a:hover {
  background:#fff;
}
.header-content-item {gap:20px; display:flex; flex-direction:column; max-width:800px; align-items:center;}
.header-image {width:50%;}
.header-image img {width:100%;}
.header-content-item video {border-radius:12px; margin-top:20px;}
.header-content-item p a {display:block; text-decoration:none; color:#8ba9ff; }
/***************************/
.full-image {width:100%; margin: -460px 0 -200px 0;}
.container-title {
  text-align:center; display:flex; flex-direction:column; gap:20px;
} 
.container-title h2 { margin: 0;padding: 0;font-size: 48px;font-weight: 900; line-height:1; text-wrap:balance;}
.container-title h3 { margin: 0;padding: 0;font-size: 38px;font-weight: 900; line-height:1.2; text-wrap:balance; 
                    color:var(--primary);}
.container-title p {
    /* Стили для подзаголовка */
    font-size:19px;
    color: #000000; text-wrap:balance; margin:0 auto; max-width:1000px;
   
}

.content-block {display:flex; flex-direction:column; gap:20px; font-size:19px;
               margin:0 auto; max-width:800px;}
.content-block  ul {display:flex; flex-direction:column; gap:10px;}
.content-block  ul li {list-style:none; position:relative; padding-left:24px; }
.content-block  li:before {content:""; position:absolute; width:14px; height:4px; display:block; 
                           background:#4f7dff; top:10px; left:0; border-radius:20px;}

.content-block  ol {display:flex; flex-direction:column; gap:10px; list-style-type: none; counter-reset: num; }
.content-block  ol li {position:relative; padding-left:40px; }
.content-block  ol li::before {content: counter(num) '. '; counter-increment: num; color: #4f7dff; position:absolute; left:0; font-weight:bold; text-align:right; 
width:30px;}
.content-image {display:flex; flex-wrap:wrap; margin:0 -20px;}
.content-image.center {justify-content:center;}
.content-image img {max-height:400px; max-width:100%;}
.content-image.square img {aspect-ratio: 1 / 1; display:grid; place-items:center;    
  object-fit: cover; max-width:33.33333%; width:33.33333%;}

/********* FOOTER **********/
footer {background:#242424; color:#999;}
footer .container-item {display:flex; flex-wrap:wrap; gap:30px; padding:50px 40px 30px 40px;}
.footer-wrapper {display:grid; gap:40px; grid-template-columns: 260px 1fr 1fr 200px;
                justify-content:space-between;}
footer .logo {position:relative; left:0; margin-bottom:14px; margin-top:-10px; font-size:24px;}
footer a {color:#949494; text-decoration:none;}
.footer-item {display:flex; flex-direction:column;  gap:16px;}
.footer-item h3 {color:#ccc;}
.footer-item p {font-size:16px;}
.footer-item ul {list-style:none; display:flex; flex-direction:column; gap:10px}
.footer-item ul li a {color:#999;}
.footer-copy {width:100%; text-align:center; border-top:1px solid #444; padding-top:30px;}
.foot-contact-wrapper {display:flex; flex-direction:column; gap:16px;}
.foot-contact-wrapper a {display:flex; gap:12px; align-items:center;}
.foot-contact-wrapper a img {width:30px;}
.foot-contact-wrapper a i {color:#fff; display:flex; align-items:center; justify-content:center;
                     width:30px; height:30px; border-radius:8px; background:var(--primary);}

/********* HAMBURGER **********/
.nav-toggle {position: absolute;  right: 22px;  top: 3px; z-index: 12; outline:none;
            cursor: pointer; padding: 24px 41px 26px 14px; display:none;}
.nav-toggle span, .nav-toggle span:before, .nav-toggle span:after {
  cursor: pointer;
  border-radius: 1px;
  height: 2px;
  width: 24px;
  background: white;
  position: absolute;
  display: block;
  content: '';
}
.nav-toggle span:before {top: -10px; }
.nav-toggle span:after {bottom: -10px;}
.nav-toggle span, .nav-toggle span:before, .nav-toggle span:after {transition: all 200ms ease-in-out;}
.nav-toggle.active span {background-color: transparent; opacity: 1;}
.nav-toggle.active span:before, .nav-toggle.active span:after {top: 0;}
.nav-toggle.active span:before {transform: rotate(45deg);}
.nav-toggle.active span:after {transform: rotate(-45deg);}

/*****************************/
.video-bg {
  background:url(../img/header-top.jpg) no-repeat top center;
  background-size:cover; color:#fff;
}
.video-bg .container-item {padding:140px 40px 160px 40px;}
.video-bg:before {
  content:"";
  position: absolute;
  top: 0;
  left: 0;
  bottom:0; right:0; background:#00144b8f; z-index:1;
}

.video-bg h1 {font-size:62px; max-width:800px; line-height:1; text-wrap:balance; text-align:center;
             margin:0 auto;}
.video-bg p {font-size:26px; max-width:900px; line-height:1.5; text-align:center; margin:0 auto;
            text-wrap:balance;}
/******** MODAL  *********/

.modal-wrapper {position:fixed; top:0; right:0; bottom:0; left:0; z-index:100;
  justify-content:center; background:#000000a1;  padding:20px;
  overflow-y:auto; align-items:center; display:none;}
.modal-window {min-width:280px; max-width:600px; box-sizing: border-box; position:relative;
              background:#fff; padding:30px 30px; border-radius:20px; margin:auto; }
.modal-window .close {position:absolute; padding:6px; font-size:18px; display:flex;
                     justify-content:center; align-items:center; width:30px; height:30px; right:10px; top:10px; cursor:pointer;
                     color:#000000; transition: all 0.3s; z-index:2}
.modal-window .close:hover {color:#999;}

/***************/
.block-icon-wrapper {display:flex; flex-wrap:wrap; gap:20px;}
.bl-icon-item {flex:1; display:flex; flex-direction:column; align-items:center; gap:20px; text-align:center;
              border:0px solid #000; border-radius:30px; padding:30px; background:#ffffff;}
.bl-icon-item .icon {display:flex; align-items:center; justify-content:center;
                     width:100px; height:100px; border-radius:50%; background:#4f7dff;}
.bl-icon-item .icon img {height:60px; width:60px;}
.bl-icon-item p {font-weight:600;}

.block-drop-wrapper {display:flex; flex-wrap:wrap; gap:20px;}
.bl-drop-item {flex:1; display:flex; flex-direction:column; align-items:center; gap:20px; text-align:center;
              border:0px solid #000; border-radius:30px; padding:30px; background:#e1eff8;}
.bl-drop-item .icon {display:flex; align-items:end; justify-content:center;
                     width:120px; height:140px; background:url(../img/drop.svg) no-repeat center center;
                    background-size:160px; padding-bottom:20px}
.bl-drop-item .icon {font-size:48px; font-weight:bold; color:#4f7dff;}

.bl-drop-item p {font-size:22px; line-height:1.0; font-weight:bold;}

/*******************/
.lend-block-wrapper-full {display:flex; flex-wrap:wrap; gap:0px; gap:20px;}
.lend-block-wrapper-full .lend-block-item {padding:0px; background:#fff; overflow:hidden; 
                                           display:flex; flex-direction:column;
                                          align-items:center; flex:1; border-radius:30px; }
.lend-block-wrapper-full p {padding:20px; font-size:19px; font-weight:bold;}

.lend-block-wrapper-full img { width:100%;}
/*.lend-block-wrapper-full .lend-block-item:nth-child(2n) img {order:2;}*/

/**** Article page ****/
.blog-all-wrapper {display: grid;  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap:30px; 
                  }
.blog-all-wrapper a img {width:100%; display:block;}
.blog-all-wrapper a {text-decoration:none; font-size:20px; display:flex; flex-direction:column; gap:20px;
                    position:relative; border-radius:20px; overflow:hidden;}
.blog-all-wrapper a h4 {position:absolute; bottom:0px; left:0px; right:0px; color:#fff; background:#0000005e;
                       padding:20px; transition:all 0.3s;}
.article-wrap {margin-top:20px;}

.article-wrap .container-item {
  padding:40px 40px;
}
.article-wrap h1 {
  font-size: 42px;
  font-weight: 900; line-height:1.2;
  margin-bottom:40px; 
  text-wrap: balance;
}
.article-container {display:flex;gap:40px;align-items:start;}
.article-container-item { display:flex; flex-direction:column; gap:30px; }
.article-img {position:relative;}
.article-img img {
  width:100%; display:block; border-radius:16px; object-fit: cover; height:360px;
}
.blog-back-wrapper {margin-bottom:20px;  color:#666; overflow-x:hidden;
                    max-width:100%;  width:100%; display: flex;}
.blog-back-wrapper .breadcrumb {font-size:18px; justify-content:left; }
.blog-back-wrapper .breadcrumb li a {text-decoration:none; padding:0; color:#2c63ff; white-space: nowrap;
                                    display:flex;}
.blog-back-wrapper .breadcrumb li i {transform: rotate(180deg);}
.blog-back-wrapper .breadcrumb li span {max-width: 280px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display:block;}
.blog-category a {background:#242424; text-decoration:none; color:#2c63ff; border-radius:20px; padding:6px 10px; display:block; font-weight:400;}

.article-read-time {display:flex; align-items:center; justify-content:space-between; font-size:14px; }
.read-time-item {color:#999}
.article-param {margin-top:-14px; position:relative;}
.article-menu-wrapper {margin-top:-20px; display:flex;
                      flex-direction:column; gap:20px;}
.article-menu {background:#f0f0f0; padding:20px 30px; border-radius:20px;}
.article_menu-title {color:#000000; font-size:24px; margin-bottom:10px; font-weight:600;}
.article-menu ul {display:flex; gap:10px; flex-direction:column; color:#999; list-style:none;}
.article-menu a {color:#0042ff; text-decoration:none;}
.left-blog-menu {max-width:320px; position:sticky; top:80px;}
.left-blog-menu h3 {font-size:24px; margin-bottom:20px;}
.left-menu-item {}
/**** Article Content ****/
.article-content {max-width:900px; margin:0 auto;}
.article-content img {max-width:100%;}
.article-content a {color:var(--color-blue);}
.article-content a:hover {text-decoration:none;}
.article-content p {margin-bottom:20px; font-size:18px;}
.article-content h2 {line-height:1.2}
.article-content h2, .article-content h3, .article-content h4, .article-content h5 {
  margin-bottom:20px; 
}
.article-content h2 {
  font-size:36px; text-wrap:balance;
}
.article-content ul {
  list-style:none; margin-bottom:30px; display:flex; flex-direction:column; gap:4px; 
}
.article-content ul li {
  padding-left:20px;
  position:relative;
  line-height:1.4
}
.article-content ul li:before {
   content:"●"; margin-right:10px;
  color:#4f7dff;
  position:absolute; left:0; top:-1px;
}
.article-content ol {
  margin:0 0 30px 20px;  
}
.article-content ol li {
  line-height:1.4
}
.article-content ol li p, .article-content ul li p {margin:0;line-height:inherit;}
.article-content hr {margin:40px 0; opacity:0.5}
.lend_video {max-width:800px; margin:0 auto; border-radius:12px; width:100%;}

/*********************/
.blog-wrapper {display:flex;}
.left-blog-menu .blog-item {display:flex; flex:1; align-items:center; gap:10px; margin-bottom:20px; text-decoration:none;}
.left-blog-menu .blog-item-image img {width: 80px;  aspect-ratio: 1 / 1; display:grid; place-items:center;    
  object-fit: cover; border-radius:10px;}

/*** About Rezum ***/
.content-grid {display: grid;gap:40px;justify-content:center;
               grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
               display:flex; flex-wrap:wrap;}
.content-grid__item {display:flex; flex-direction:column; align-items:center; text-align:center; gap:20px;
                    flex: 1; min-width:220px;}
.content-grid__item i {font-size:34px; display:flex; align-items:center; justify-content:center;
                      background:#cad8ff; width:80px; height:80px; border-radius:50%; color:#4f7dff;}
.content-grid__item h3 {font-size:21px; line-height:1.1; }
.content-grid__item p {font-size:19px;}

.grid-blocks-2 .content-grid__item {background:#f2f2f2; border-radius:30px; padding:20px; gap:10px;}
.grid-blocks-2 .content-grid__item i {background:#4f7dff; color:#ffffff; font-weight:300;}
.grid-blocks-2 .content-grid__item h3 {font-size:19px; text-wrap:balance;}

.grid-blocks-3 .content-grid__item {background:#ffffff; border-radius:30px; padding:20px; gap:10px;}
.bg-blue {border-radius:30px; padding:20px;
             background:#e2eff89e;}

/**** ADENOMA *****/
.adenoma-wrapper {display:flex; gap:40px; flex-wrap:wrap;}
.adenoma-item {flex:1; display:flex; gap:10px; flex-direction:column; align-items:center;}
.adenoma-item img {display:block; width:100%; max-width:400px;}
.adenoma-item__content {display:flex; gap:20px; flex-direction:column;}
.adenoma-item h3 {font-size:22px; color:var(--primary);} 
.adenoma-item p {font-size:19px;}

.read-more {display:flex; gap:20px; background:#fff; border-radius:20px; overflow:hidden;}
.read-more__content {display:flex; gap:10px; flex-direction:column; align-items:start; padding:20px;
                    justify-content:center;}
.read-more img {aspect-ratio: 1 / 1; display:grid; place-items:center;    
  object-fit: cover; max-width:240px; background:#ccc;}
.read-more__content h3 {font-size:24px;}
.read-more__content p {font-size:19px;}
.read-more__content a {margin-top:10px;}

.contact-wrapper {display:flex; flex-direction:column; text-align:center; gap:20px;}
.contact-wrapper strong {width:100%; font-size:24px;}
.contact-item {text-align:center; display:flex; flex-direction:column; align-items:center; gap:10px;}
.contact-item > a {color:var(--primary); text-decoration:none; font-size:30px; font-weight:bold;}
.contact-item__chat {display:flex; justify-content:center; gap:20px; margin-top:10px;}
.contact-item__chat a {display:flex; flex-direction:column; align-items:center; background:#cccccc69;
                      text-decoration:none;  width:100px; padding:10px; border-radius:20px; 
                       white-space:nowrap; gap:6px;}
.contact-item__chat a img {height:50px; display:block;}

.doctor-wrapper {display:flex;  gap:30px; background:#ffffff; overflow:hidden; border-radius:20px;
                align-items:start; padding:30px;}
.doc-image {background:#ccc; width:140px; height:140px;  display:flex; min-width:140px;
           overflow:hidden; border-radius:50%; position:relative;}
.doc-image img   {width: 100%; position:absolute; }
.doc-content {display:flex; flex-direction:column; align-items:start; gap:20px; padding:0px;}
.doc-note {display:flex; flex-direction:column; gap:20px; font-size:19px;}
.doc-item {}

/*********  accordion  *********/
.accordion-wrapper {display:flex; flex-direction:column; gap:10px; margin:0 auto; max-width:800px;}
.accordion-item {background:#edf1ff; padding:20px 30px; border-radius:20px;           
          display:flex; flex-direction:column; gap:0px;}
.acc-title {display:flex; justify-content:space-between; cursor:pointer; align-items:start; gap:30px;}
.acc-title h3 {font-size:24px; color:#000000; }
.acc-title i {position:relative; top:10px; left:4px; transition: all 0.3s; font-size: 16px;
              color: var(--primary);}
.acc-content {max-height: 0;overflow: hidden;transition: all 0.3s;}
.acc-title i.rotate {color: var(--primary);}

/*------ TEST ------*/
  .wrap {
    width: 100%;
    max-width: 800px;
    margin:0 auto;
  }
  .subtitle {margin-bottom: 1.5rem;line-height: 1.5;}
  .prog-wrap {
    margin-bottom: .5rem;
    display: flex;
   flex-direction:column;
    gap: 10px;
  }
  .prog-bar-bg {
    height: 6px;
    background: #d4d4d4;
    border-radius: 4px;
    overflow: hidden; width:100%;
  }
  .prog-bar-fill {
    height: 100%;
    background: #2c63ff;
    border-radius: 4px;
    transition: width .4s ease;
  }
  .step-label {
    color: #2c63ff;
    white-space: nowrap;
    letter-spacing: .04em;
    font-weight:600;
  }
  .q-card {
    background: #fff;
    border: 0.5px solid #bbbbbb;
    border-radius: 12px;
    padding: 1.5rem 1.5rem 1.25rem;
    margin-bottom: 1rem;
    min-height: 280px;
    display: flex;
    flex-direction: column;
    animation: fadeIn .3s ease;
  }
  .q-text {
    font-weight: 600;
    color: #111827;
    line-height: 1.4;
    margin-bottom: 20px;
    flex-shrink: 0;
  }
  .opts {
    display: flex;
    flex-direction: column;
    gap: 7px;
    flex: 1;
  }
  .opt {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border: 1px solid #c1c1c1;
    border-radius: 8px;
    cursor: pointer;
    transition: background .15s, border-color .15s;
    user-select: none;
  }
  .opt:hover { background: #f9fafb; border-color: #d1d5db; }
  .opt.sel { background: #EBF4FD; border-color: #2c63ff; }
  .opt-radio {
    width: 16px; height: 16px;
    border-radius: 50%;
    border: 1.5px solid #767676;
    flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    transition: border-color .15s;
  }
  .opt.sel .opt-radio { border-color: #2c63ff; }
  .opt-dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: #2c63ff;
    opacity: 0;
    transition: opacity .15s;
  }
  .opt.sel .opt-dot { opacity: 1; }
  .opt-label {color: #374151; flex: 1; line-height:1.1}
  .opt-score {color: #9ca3af; font-weight: 500; }
  .opt.sel .opt-label { color: #0C447C; }
  .opt.sel .opt-score { color: #185FA5; }
  .actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: .25rem;
  }
  .btn {
    padding: 12px 22px;
    border-radius: 12px;
    border: 0.5px solid #c4c4c4;
    background: transparent;
    font-size: 14px;
    color: #374151;
    cursor: pointer;
    transition: background .15s;
    font-family: inherit;
    display:flex; gap:6px;
    font-size:17px;
  }
  .btn:hover { background: #f3f4f6; }
  .btn.primary { background: #2c63ff; border-color: #2c63ff; color: #fff; }
  .btn.primary:hover { background: #00144b; border-color: #00144b; }
  .btn:disabled { opacity: .4; cursor: default; }
 
  /* Result */
  .result-card {
    background: #fff;
    border: 0.5px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    animation: fadeIn .4s ease;
    margin-bottom: 1rem;
    padding-bottom:20px;
  }
  .res-top {
    padding: 1.5rem;
    border-bottom: 0.5px solid #e5e7eb;
    text-align: center;
  }
  .res-score-lbl {
    color: #6b7280;
    letter-spacing: .08em;
    margin-bottom: .5rem;
    text-transform: uppercase;
  }
  .res-score-num { font-size: 52px; font-weight: 600; line-height: 1; }
  .res-score-max { font-size: 18px; color: #000000; }
  .res-gauge {
    margin: 1rem auto 0;
    width: 100%; max-width: 360px;
    height: 10px;
    background: #d4d4d4;
    border-radius: 6px;
    overflow: hidden;
    
  }
  .res-gauge-fill {
    height: 100%;
    border-radius: 6px;
    transition: width .6s .2s ease;
  }
  .res-severity {
    padding: 1.25rem 1.5rem;
    border-bottom: 0.5px solid #e5e7eb;
  }
  .sev-badge {
    display: flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 8px;
    justify-content:center;
    font-weight: 500;
    margin-bottom: .75rem;
    font-size:19px;
  }
  .sev-text {color: #4b5563; }
  .res-answers { padding: 1.25rem 1.5rem; }
  .ans-title {
    font-weight: 500;
    color: #9ca3af;
    margin-bottom: .75rem;
    letter-spacing: .06em;
    text-transform: uppercase;
  }
  .ans-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 6px 0;
    border-bottom: 0.5px solid #f3f4f6;
    gap: 1rem;
  }
  .ans-row:last-child { border-bottom: none; }
  .ans-q { color: #6b7280; flex: 1;line-height:1.1 }
  .ans-v { font-weight: 500; color: #111827; flex-shrink: 0; text-align: right; }
  .disclaimer {
    font-size: 15px;
    color: #737373;
    text-align: center;
    padding: .75rem 1.5rem 0;
    line-height: 1.5;
  }
  .btn-restart {/* margin: 20px auto 30px auto; *//* display:inline-flex; *//* float:right; */}
 
  @keyframes fadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: none; }
  }

  /*** REVIEWS ***/
.comment-wrapper {display:flex;gap:40px; position:relative; align-items:start;}
.doctor-comment-info {width:260px; display:flex; flex-direction:column; gap:10px; position:sticky; top:80px;
                       bottom:0; align-items:center; text-align:center; }
.doctor-comment-info img {border-radius:50%; width:160px;}
.doctor-comment-info h2 {font-size:20px; line-height:1;}
.doctor-comment-info p {line-height:1.3; font-size:17px; font-weight:bold; color:var(--primary);}
.doctor-comment-info span {line-height:1.4; font-size:16px;}
.doctor-comment-info .btn-group {gap:10px; margin-top:10px;}
.comment-item {flex:1;}
.reviews-filter {display:flex; align-items:center; gap:10px; justify-content:center;
                margin-bottom:20px}
.reviews-filter button {border:0; padding:12px 20px; background:#dee6ff; border-radius:12px;
                       cursor:pointer; line-height:1;}
.reviews-filter button.active {background:#2c63ff; color:#fff;}

.reviews-wrapper {display:flex; flex-direction:column; gap:10px; margin:0 auto; }
.review-card {
    display: flex;
    border: 1px solid #e5e5e5;
    padding: 10px;
    background: #f1f1f1;
    border-radius: 20px;
    gap: 0px;
    flex-wrap: wrap;
    align-items: start;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.review-card:nth-child(-n + 10) {
    display: flex;
}

.review-card.visible {
    opacity: 1;
    transform: translateY(0);
}
.review-card .btn-group {width:100%; justify-content:right;}
.review-card .btn-group button {margin-top:10px;}
.review-card .btn-min-solid i {transition: transform 0.3s ease;}
.review-header {display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap;
               padding:10px; max-width:210px; gap:20px;}

.review-meta {display:flex; flex-direction:column; gap:0px 10px; }
.review-phone {font-size:24px; font-weight:bold; color:#2c63ff;}
.review-date {color:#666;}

.review-header-item {display:flex;flex-direction:column;gap:10px;align-items:start;}
.review-rating {background:#4CAF50; border-radius:30px; padding:4px 14px 5px 14px; display:flex; align-items:center; 
                gap:6px; justify-content:center; width:160px; color:#fff;}
.review-rating i {color:#ffbf00;}
.review-verified {background:#ffffff; border-radius:30px; padding:4px 14px 5px 14px; display:flex; align-items:center; 
                gap:4px; justify-content:center; font-size:16px; color:#2c63ff; width:160px;}


.review-text {background:#fff; padding:20px; border-radius:20px; flex:1;}

.btn-min-solid.rotated i {transform: rotate(180deg);}
.review-card.visible {opacity: 1;transform: translateY(0);}

.review-text p {
    max-height: 9em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    line-height: 25px
}

.review-text p.expanded {
    -webkit-line-clamp: unset;
    display: block;
}
@media (max-width: 640px) {
  .review-text p {
    max-height: 18em;
    -webkit-line-clamp: 12;}
}

/*--------- SLIDERS --------*/
.comment-slide {background:#fff; padding:30px; border-radius:20px;user-select: none;
    -webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;
               display:flex; flex-direction:column; gap:20px;}
.com-sl__header {display:flex; flex-direction:column; gap:10px;}
.com-sl__header .review-phone {font-size:20px;}
.com-sl__header .review-header-item {flex-direction:row; flex-wrap:wrap; gap:6px;}
.com-sl__header .review-header-item > * {width:auto; font-size:14px;}

.com-sl__header .review-verified {background:#2c63ff; color:#fff;}
.com-sl__header .review-verified i {color:#ffbf00;}
.com-sl__content p {
  overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 10;
    -webkit-box-orient: vertical;
    line-height: 25px; margin-bottom:20px;
}
.modal-content .comment-slide {padding:0;}
.modal-content .com-sl__content p {-webkit-line-clamp: unset;
-webkit-box-orient: unset; margin:0; margin-top:-10px;}

/* TABLE PRICE */
.comparison-table {
  width: 100%;
 background:#fff; border-radius:20px; overflow:hidden;
}

.ct-row {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr;
  border-bottom: 1px solid #e0e0e0;
}

.ct-header {
  background: #2c63ff;
  font-weight: 700;
  color: #ffffff !important;
}

.ct-cell {
  padding: 14px 16px;
  line-height: 1.2;
}

.ct-cell.ct-param {
  font-weight: 600;
 
}

.ct-cell.ct-rezum {
  background: #2c63ff1f; 
}

/*** СРАВНЕНИЕ МЕТОДОВ ****/
.method-card-wrapper {
    gap: 20px;
    justify-content: center;
    display:flex; flex-wrap:wrap;}        
.method-card {
    position: relative;
    background: #fff;
  
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-width:340px; flex:1;
  max-width:440px;
}
 
.method-card__ribbon {
        position: absolute;
    top: 16px;
    right: 16px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--primary);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .04em;
    padding: 7px 13px;
    border-radius: 999px;
    box-shadow: 0 6px 16px rgba(47, 111, 237, .35);
    z-index: 3;
}
 
.method-card__ribbon i {font-size: 10px;
}
 
.method-card__image {
    width: 100%;
    aspect-ratio: 4 / 3;
    background: #f5f7fa;
    overflow: hidden;
}
 
.method-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
 
.method-card__body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
 
.method-card__name {
    font-family: "PT Serif", Georgia, serif;
    font-weight: 700;
    color: #1f2f63;
    font-size: 24px;
    margin: 0 0 0px;
}
 
.method-card__sub {
    font-size: 16px;
    color: #6c7484;
    margin: 0 0 16px;
}
 
.method-card__badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    font-weight: 600;
    color: #56607a;
    background: #f0f2f7;
    padding: 6px 12px;
    border-radius: 4px;
    margin-bottom: 16px;
    align-self: flex-start;
}
 
.method-card__badge--primary {
    background: #e9eefc;
    color: #2456c9;
}
 
.method-card__desc {
    font-size: 16px;
    color: #42485a;
    line-height: 1.4;
    margin: 0 0 20px;
}
 
.method-facts {
    list-style: none;
    padding: 10px;
    margin: 0 0 20px;
    display:flex;
    border-radius: 12px;
    overflow: hidden;
  background: #edf1ff; 
  align-items:start; justify-content:space-around;
}
 
.method-facts li {
    padding: 12px 8px;
    text-align: center;
   display:flex; justify-content:center; flex-direction:column;
  align-items:center;
}
 
 
.method-facts li i {
    display:flex; justify-content:center; align-items:center;
    font-size: 18px;
    color: #fff;
    margin-bottom: 6px;
  width:40px; height:40px; background:#2c63ff; border-radius:50%;
}
 
.method-facts__label {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6c7484;
    margin-bottom: 4px;
}
 
.method-facts__value {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #1f2f63;
    line-height: 1.25;
}
 
.method-advantage {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: #edf1ff;
    border-left: 4px solid #2f6fed;
    padding: 12px 14px;
    margin: 0 0 16px; border-radius:12px;
}
 
.method-advantage i {
    flex: none;
    color: #2f6fed;
    font-size: 18px;
    margin-top: 1px;
}
 
.method-advantage span {
    font-size: 16px;
    font-weight: 600;
    color: #1f2f63;
    line-height: 1.3;
}
 
.method-fit {
    font-size: 16px;
    color: #6c7484;
    line-height: 1.5;
    margin: 0 0 20px;
}
 
.method-fit b {
    color: #2a2f3a;
    font-weight: 600;
}
 

/* МОБИЛЬНЫЙ */
@media (max-width: 800px) {
  .comparison-table { background:none; border-radius:0px;}
  .ct-header {
    display: none; 
  }
  
  .ct-row {
    display: block;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 0;
    background: #fff;
    border-radius:20px;
    margin:0 0px 20px 0px;
    overflow:hidden; box-shadow:0px 4px 10px #00000038;
  }
  
  .ct-row:first-child {
    display: none; 
  }
  
  .ct-cell {
    display: block;
    padding: 12px 20px;
    border-bottom: 1px solid #ccc; 
    color:#333;
  }
  
  .ct-cell:last-child {
    border-bottom: none;
    background:#fff;
  }
  
  .ct-cell.ct-param {
    font-size: 18px;
    font-weight: 700;
    color: #1a1a1a;
    background:#4f7dff;
    padding:10px 20px; color:#fff; border:0;
  }
  
  .ct-cell.ct-rezum::before,
  .ct-cell.ct-tur::before,
  .ct-cell.ct-laser::before {
    content: attr(data-label);
    display: block;
    font-weight: 700;
    color: #2b2b2b;
    margin-bottom: 3px;
    letter-spacing: 0.5px; font-size:18px;
  }
  
  .ct-cell.ct-rezum {
    background: #4f7dff00;
  }
  
  .ct-cell.ct-rezum::before {
    color: #4CAF50; text-transform:uppercase;
  }
}

/*** FORM ***/
.e_form {font-size:19px;}
.e_form input {border:2px solid #4f7dff; padding:10px 14px; display:block; margin-bottom:10px; 
               width:calc(100% - 28px); font-size:19px; border-radius:12px}
.e_form textarea {border:2px solid #4f7dff; padding:10px 14px; display:block; margin-bottom:10px; 
                  font-size:19px; width:calc(100% - 28px);border-radius:4px; height:140px;}
.e_form  .submit {background:#4f7dff; border:0; padding:14px 34px; font-size:16px; text-transform:uppercase; 
                  color:#fff; cursor:pointer; border-radius:12px;}
.hide {overflow:hidden;}
.e_form input.error, .e_form textarea.error {border:2px solid #ea0000;}
.alert-success h3 {color:#000; font-size:20px;}
.e_form .submit:disabled{background:#96a8f5 !important;
                         cursor:not-allowed;opacity:1;}
.form-policy{margin:18px 0 10px 4px;}
.policy-label{display:flex; align-items:flex-start; gap:10px; font-size:16px; line-height:1.4;
              color:#666; cursor:pointer; }
.policy-label input{margin-top:0px;min-width:22px;width:22px;height:22px;cursor:pointer; }
.policy-label a{ color:#4b67ff; text-decoration:underline; }
.policy-label a:hover{text-decoration:none;}
.modal-head {margin-bottom:20px; margin-top:10px;}
.modal-head h4 {font-size:22px; margin-bottom:10px; line-height:1.0; padding-right:30px;}
.modal-head span {font-size:17px; line-height:1.2; display:block;}
.alert-success {margin:20px 0;}
/* loading... for modal */
.frmwrapper {position: relative;}
.form-overlay {position: absolute;inset: 0;background: rgba(255,255,255,0.8);
  display: flex;flex-direction: column;align-items: center;justify-content: center;
  z-index: 20;border-radius: 10px;}
.form-loader { width: 42px;height: 42px;border: 4px solid #d9d9d9;
  border-top: 4px solid #4d73ff;border-radius: 50%;
  animation: formSpin 0.8s linear infinite;margin-bottom: 12px;}
.form-loader-text {font-size: 16px;color: #333;}
.submit.is-loading,
button.is-loading {opacity: 0.7;cursor: not-allowed;}
@keyframes formSpin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/*** POLICY ***/
.modul { margin:0 auto; max-width:900px; display:flex; flex-direction:column; gap:10px;}
.modul h3 {margin-bottom:0px; font-size:26px; line-height:1.2; color:#4f7dff;}
.modul ul {padding:0px; margin:0 0px 40px 0px;}
.modul ul li {margin-bottom:16px; list-style:none; position:relative; 
                                          padding-left:40px; }
.modul ul li:before {content:""; position:absolute; width:20px; height:3px; 
                                                 display:block; background:#4f7dff; top:15px; left:0;}
.modul ol {padding:0px; margin:0 0px 40px 0px; list-style-type: none; counter-reset: num; }
.modul ol li {margin-bottom:16px;  position:relative; padding-left:40px; }
.modul ol li::before {content: counter(num) '. '; counter-increment: num; color: #4f7dff; 
                            position:absolute; left:0; font-weight:bold; text-align:right;
                            width:30px;}
/***********/