:root{
  --pv-bg:#f6f6f4;
  --pv-card:#fafaf8;
  --pv-card-alt:#efefed;
  --pv-border:#dddddb;
  --pv-text:#111111;
  --pv-muted:#666666;
  --pv-blue:#1560e6;
  --pv-blue-hover:#0f54cd;
  --pv-shadow:0 8px 18px rgba(21,96,230,.18);
  --pv-radius:8px;
}

.pv-quiz-open-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 28px;
  border:none;
  border-radius:8px;
  background:var(--pv-blue);
  color:#fff;
  font-size:18px;
  font-weight:600;
  cursor:pointer;
  text-decoration:none;
}

.pv-quiz-overlay{
  position:fixed;
  inset:0;
  background:rgba(10,10,10,.36);
  z-index:99999;
  display:none;
}

.pv-quiz-overlay.is-open{
  display:block;
}

.pv-quiz-modal{
  position:absolute;
  inset:0;
  background:var(--pv-bg);
  color:var(--pv-text);
  overflow:auto;
  font-family:Arial, Helvetica, sans-serif;
}

.pv-quiz-close{
  position:absolute;
  top:16px;
  right:24px;
  width:42px;
  height:42px;
  border:none;
  background:transparent;
  font-size:32px;
  line-height:1;
  cursor:pointer;
  color:#333;
  z-index:5;
}

.pv-quiz-topbar{
  border-bottom:1px solid #ddd;
  background:#f4f4f2;
}

.pv-quiz-topbar-inner{
  max-width:1200px;
  margin:0 auto;
  padding:18px 24px;
}

.pv-quiz-project-label{
  font-size:16px;
  color:#4b4b4b;
}

.pv-quiz-body{
  min-height:calc(100vh - 170px);
}

.pv-step-screen{
  display:none;
}

.pv-step-screen.is-active{
  display:block;
}

.pv-step-content{
  max-width:1200px;
  margin:0 auto;
  padding:28px 24px 40px;
}

.pv-quiz-breadcrumbs-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:22px;
  flex-wrap:wrap;
}

.pv-quiz-breadcrumbs{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  font-size:14px;
  color:#8a8a8a;
}

.pv-quiz-breadcrumbs a{
  color:#8a8a8a;
  text-decoration:none;
}

.pv-quiz-back-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border:1px solid #d9d9d7;
  border-radius:8px;
  background:#fff;
  color:#111;
  text-decoration:none;
  font-size:15px;
  font-weight:600;
}

.pv-step-meta{
  min-height:40px;
  margin-bottom:8px;
}

.pv-skip-tag{
  display:inline-block;
  padding:8px 14px;
  font-size:14px;
  font-weight:700;
  border-radius:6px;
  background:#e8e8e6;
  color:#333;
}

.pv-step-title{
  margin:0 0 18px;
  font-size:40px;
  line-height:1.12;
  font-weight:700;
  max-width:980px;
}

.pv-step-subtitle{
  margin:0 0 24px;
  font-size:18px;
  color:#222;
}

.pv-options-grid{
  display:grid;
  gap:16px;
}

.pv-options-grid.cols-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.pv-option-card{
  position:relative;
  display:flex;
  align-items:center;
  min-height:82px;
  border:1px solid var(--pv-border);
  border-radius:8px;
  background:#fafaf8;
  cursor:pointer;
  overflow:hidden;
  transition:.2s ease;
}

.pv-option-card input[type="radio"],
.pv-option-card input[type="checkbox"]{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.pv-option-card span{
  display:block;
  width:100%;
  padding:20px 22px 20px 60px;
  font-size:20px;
  line-height:1.35;
  position:relative;
}

.pv-option-card span:before{
  content:"";
  width:22px;
  height:22px;
  border-radius:50%;
  background:#e1e1df;
  position:absolute;
  left:22px;
  top:50%;
  transform:translateY(-50%);
}

.pv-option-card.is-selected{
  background:#eef4ff;
  border-color:#cddcff;
}

.pv-option-card.is-selected span:before{
  background:var(--pv-blue);
  box-shadow:inset 0 0 0 5px #fff;
}

.pv-option-card.is-other{
  background:var(--pv-card-alt);
}

.pv-option-card.is-checkbox.is-selected span:before{
  border-radius:6px;
}

.pv-option-other-wrap{
  width:100%;
  padding:16px 18px 16px 54px;
  position:relative;
}

.pv-option-other-wrap:before{
  content:"";
  width:22px;
  height:22px;
  border-radius:50%;
  background:#e1e1df;
  position:absolute;
  left:22px;
  top:28px;
}

.pv-option-card.is-selected .pv-option-other-wrap:before{
  background:var(--pv-blue);
  box-shadow:inset 0 0 0 5px #fff;
}

.pv-option-other-label{
  display:block;
  margin-bottom:8px;
  font-size:18px;
  color:#444;
}

.pv-option-input{
  width:100%;
  min-height:48px;
  border:1px solid #d6d6d4;
  outline:none;
  border-radius:8px;
  background:#fff;
  font-size:18px;
  color:#222;
  padding:0 14px;
}

.pv-option-input:focus{
  border-color:var(--pv-blue);
}

.pv-error-note{
  margin-top:8px;
  font-size:14px;
  color:#c73434;
}

.pv-quiz-footer{
  position:sticky;
  bottom:0;
  background:var(--pv-bg);
  border-top:1px solid #e1e1df;
  padding:16px 24px 18px;
}

.pv-quiz-progress-row{
  max-width:1200px;
  margin:0 auto 10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.pv-quiz-progress-text{
  font-size:18px;
  color:#555;
}

.pv-quiz-progress-text span{
  color:var(--pv-blue);
  font-weight:700;
}

.pv-progress-bar{
  max-width:1200px;
  margin:0 auto;
  height:8px;
  background:#d8d8d6;
  border-radius:999px;
  overflow:hidden;
}

.pv-progress-bar-fill{
  width:0%;
  height:100%;
  background:linear-gradient(90deg,#2e7bff,#5ca1ff);
  transition:width .25s ease;
}

.pv-quiz-nav{
  display:flex;
  align-items:center;
  gap:14px;
}

.pv-nav-btn{
  min-width:112px;
  height:56px;
  border:none;
  border-radius:8px;
  font-size:18px;
  cursor:pointer;
}

.pv-nav-back{
  min-width:56px;
  background:#f4f4f2;
  border:1px solid #ddd;
}

.pv-nav-next{
  background:var(--pv-blue);
  color:#fff;
  box-shadow:var(--pv-shadow);
}

.pv-enter-hint{
  max-width:1200px;
  margin:6px auto 0;
  font-size:16px;
  color:#777;
  text-align:right;
}

.pv-contact-wrapper{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:calc(100vh - 170px);
}

.pv-contact-left,
.pv-contact-right{
  padding:56px 64px;
}

.pv-contact-left{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  border-right:1px solid #ddd;
}

.pv-contact-right{
  display:flex;
  flex-direction:column;
  justify-content:center;
  max-width:640px;
}

.pv-contact-title{
  margin:18px 0 28px;
  font-size:54px;
  line-height:1.18;
  font-weight:500;
}

.pv-contact-subtitle{
  margin:0;
  font-size:22px;
  color:#5f5f5f;
  line-height:1.45;
}

.pv-input-label{
  display:block;
  margin:0 0 12px;
  text-transform:uppercase;
  font-size:16px;
  letter-spacing:.08em;
  color:#444;
  font-weight:700;
}

.pv-phone-field{
  display:flex;
  align-items:stretch;
  min-height:74px;
  border:1px solid #d7d7d5;
  border-radius:8px;
  background:#fff;
  overflow:hidden;
}

.pv-phone-prefix{
  min-width:140px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-size:24px;
  border-right:1px solid #d7d7d5;
}

.pv-phone-field input{
  flex:1;
  border:none;
  outline:none;
  font-size:22px;
  padding:0 18px;
  background:#fff;
}

.pv-messenger-toggle{
  margin-top:20px;
  height:74px;
  border:none;
  border-radius:8px;
  background:#ececeb;
  font-size:20px;
  color:#222;
  cursor:pointer;
}

.pv-primary-btn{
  margin-top:20px;
  height:74px;
  border:none;
  border-radius:8px;
  background:var(--pv-blue);
  color:#fff;
  font-size:22px;
  cursor:pointer;
  box-shadow:var(--pv-shadow);
}

.pv-consent{
  display:flex;
  gap:12px;
  margin-top:22px;
  font-size:16px;
  line-height:1.45;
  color:#333;
}

.pv-consent input{
  width:22px;
  height:22px;
  margin-top:2px;
}

.pv-consent a{
  color:var(--pv-blue);
  text-decoration:none;
}

.pv-messenger-screen{
  max-width:920px;
  margin:0 auto;
  padding:50px 24px 90px;
}

.pv-messenger-title{
  margin:0 auto 24px;
  text-align:center;
  font-size:54px;
  line-height:1.16;
  font-weight:500;
  max-width:980px;
}

.pv-messenger-subtitle{
  margin:0 auto 40px;
  max-width:900px;
  text-align:center;
  font-size:20px;
  color:#666;
}

.pv-messenger-block{
  max-width:760px;
  margin:0 auto;
}

.pv-messenger-question{
  margin:0 0 18px;
  font-size:26px;
  font-weight:500;
}

.pv-messenger-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.pv-messenger-card{
  min-height:82px;
  border:none;
  border-radius:8px;
  background:#ececeb;
  display:flex;
  align-items:center;
  gap:18px;
  padding:0 22px;
  font-size:20px;
  cursor:pointer;
}

.pv-messenger-icon{
  display:inline-flex;
  width:42px;
  height:42px;
  border-radius:50%;
}

.pv-messenger-icon.whatsapp{background:#25D366}
.pv-messenger-icon.telegram{background:#2AABEE}
.pv-messenger-icon.max{background:linear-gradient(135deg,#10b7ff,#6a27d8)}

.pv-back-link{
  display:inline-block;
  margin-top:24px;
  border:none;
  background:transparent;
  padding:0;
  color:var(--pv-blue);
  font-size:18px;
  cursor:pointer;
  text-align:left;
}

.pv-back-link.left{
  margin-top:18px;
}

.pv-selected-messenger{
  font-size:28px;
  font-weight:600;
  margin-bottom:18px;
}

.pv-thanks-screen{
  min-height:calc(100vh - 170px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:40px 24px;
}

.pv-thanks-title{
  margin:0 0 18px;
  font-size:72px;
  font-weight:700;
}

.pv-thanks-subtitle{
  margin:0 0 38px;
  font-size:28px;
}

.pv-thanks-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:86px;
  padding:0 40px;
  border-radius:8px;
  background:#e7e7e5;
  color:#111;
  font-size:22px;
  text-decoration:none;
}

@media (max-width:1024px){
  .pv-contact-wrapper{
    grid-template-columns:1fr;
  }
  .pv-contact-left{
    border-right:none;
    border-bottom:1px solid #ddd;
  }
  .pv-contact-left,
  .pv-contact-right{
    padding:42px 24px;
  }
  .pv-contact-title,
  .pv-messenger-title{
    font-size:42px;
  }
  .pv-step-title{
    font-size:34px;
  }
}

@media (max-width:767px){
  .pv-options-grid.cols-2,
  .pv-messenger-grid{
    grid-template-columns:1fr;
  }
  .pv-step-content{
    padding:24px 16px 28px;
  }
  .pv-step-title{
    font-size:28px;
  }
  .pv-step-subtitle{
    font-size:16px;
  }
  .pv-option-card span{
    font-size:18px;
    padding:18px 18px 18px 54px;
  }
  .pv-quiz-progress-row{
    flex-direction:column;
    align-items:flex-start;
  }
  .pv-quiz-nav{
    width:100%;
    justify-content:space-between;
  }
  .pv-nav-btn{
    flex:1;
  }
  .pv-nav-back{
    max-width:58px;
    min-width:58px;
    flex:0 0 58px;
  }
  .pv-enter-hint{
    text-align:left;
  }
  .pv-contact-title,
  .pv-messenger-title,
  .pv-thanks-title{
    font-size:34px;
  }
  .pv-contact-subtitle,
  .pv-thanks-subtitle{
    font-size:18px;
  }
  .pv-phone-prefix{
    min-width:96px;
    font-size:18px;
  }
  .pv-phone-field input{
    font-size:18px;
  }
  .pv-primary-btn,
  .pv-messenger-toggle{
    font-size:18px;
  }
  .pv-quiz-breadcrumbs-row.center-mobile,
  .pv-quiz-breadcrumbs-row.contact-top{
    align-items:flex-start;
  }
}
