/* CVS "Нужно ли это мне?" fit-finder quiz — Tiffany Glass styling. */
.cvsq-overlay{
  position:fixed; inset:0; z-index:9000;
  display:flex; align-items:center; justify-content:center;
  padding:20px; background:rgba(5,6,8,.72); backdrop-filter:blur(8px);
  animation:cvsqFade .18s ease;
}
.cvsq-overlay[hidden]{display:none;}
@keyframes cvsqFade{from{opacity:0}to{opacity:1}}

.cvsq-modal{
  position:relative; width:100%; max-width:560px; max-height:90vh; overflow:auto;
  background:#0d0f13; border:1px solid rgba(255,255,255,.1); border-radius:18px;
  box-shadow:0 24px 80px rgba(0,0,0,.6), 0 0 0 1px rgba(10,186,181,.08);
  color:#e7e7ea; font-family:inherit;
  animation:cvsqUp .22s cubic-bezier(.2,.7,.3,1);
}
@keyframes cvsqUp{from{transform:translateY(14px);opacity:.4}to{transform:none;opacity:1}}

.cvsq-close{
  position:absolute; top:12px; right:14px; z-index:2;
  background:none; border:none; color:rgba(255,255,255,.45);
  font-size:26px; line-height:1; cursor:pointer; padding:4px 8px; border-radius:8px;
}
.cvsq-close:hover{color:#fff; background:rgba(255,255,255,.06);}

.cvsq-bar{height:3px; background:rgba(255,255,255,.07); border-radius:18px 18px 0 0; overflow:hidden;}
.cvsq-bar-fill{display:block; height:100%; width:6%; background:#0abab5; box-shadow:0 0 12px rgba(10,186,181,.6); transition:width .3s ease;}

.cvsq-body{padding:34px 36px 32px;}
@media(max-width:560px){.cvsq-body{padding:28px 22px 26px;}}

.cvsq-eyebrow{display:inline-flex; align-items:center; gap:8px; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:#0abab5; margin-bottom:14px;}
.cvsq-dot{width:7px; height:7px; border-radius:50%; background:#0abab5; box-shadow:0 0 8px #0abab5;}

.cvsq-modal h3{font-size:24px; font-weight:700; margin:0 0 10px; color:#fff; line-height:1.25;}
.cvsq-modal h4{font-size:16px; font-weight:600; margin:0 0 12px; color:#fff;}
.cvsq-modal p{color:rgba(255,255,255,.62); line-height:1.6; font-size:15px; margin:0 0 8px;}

.cvsq-intro p{margin-bottom:24px;}
.cvsq-start{margin-top:6px;}

.cvsq-count{font-size:12px; color:rgba(255,255,255,.4); text-transform:uppercase; letter-spacing:.05em; margin-bottom:12px;}
.cvsq-multi{color:#0abab5;}

.cvsq-chips{display:flex; flex-wrap:wrap; gap:10px; margin:18px 0 6px;}
.cvsq-chip{
  appearance:none; cursor:pointer; font-family:inherit; font-size:14px;
  color:rgba(255,255,255,.82); background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12); border-radius:12px; padding:11px 15px;
  transition:all .15s ease; text-align:left; line-height:1.3;
}
.cvsq-chip:hover{border-color:rgba(10,186,181,.5); background:rgba(10,186,181,.08); color:#fff;}
.cvsq-chip.on{
  color:#fff; background:rgba(10,186,181,.18);
  border-left:3px solid #0abab5; border-right:3px solid #0abab5;
  border-top-color:rgba(10,186,181,.4); border-bottom-color:rgba(10,186,181,.4);
}

.cvsq-other{margin-top:12px;}
.cvsq-other-in,.cvsq-email{
  width:100%; box-sizing:border-box; font-family:inherit; font-size:14px; color:#fff;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12);
  border-radius:12px; padding:12px 14px; transition:border-color .15s;
}
.cvsq-other-in::placeholder,.cvsq-email::placeholder{color:rgba(255,255,255,.3);}
.cvsq-other-in:focus,.cvsq-email:focus{outline:none; border-color:rgba(10,186,181,.5);}

.cvsq-nav{display:flex; justify-content:space-between; gap:12px; margin-top:24px;}
.cvsq-nav .btn{cursor:pointer;}

/* result */
.cvsq-result .cvsq-check,.cvsq-check{
  width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:24px; color:#062a29; background:#0abab5; margin:0 0 16px; box-shadow:0 0 24px rgba(10,186,181,.4);
}
.cvsq-rlead{margin-bottom:14px;}
.cvsq-bullets{list-style:none; margin:0 0 18px; padding:0;}
.cvsq-bullets li{
  position:relative; padding:10px 12px 10px 34px; margin-bottom:8px;
  background:rgba(10,186,181,.06); border:1px solid rgba(10,186,181,.16); border-radius:12px;
  color:rgba(255,255,255,.9); line-height:1.5; font-size:14.5px;
}
.cvsq-bullets li::before{content:"→"; position:absolute; left:13px; top:10px; color:#0abab5; font-weight:700;}
.cvsq-closer{font-size:13.5px; color:rgba(255,255,255,.55); border-top:1px solid rgba(255,255,255,.08); padding-top:14px; margin-bottom:20px;}

.cvsq-book-box{background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.1); border-radius:14px; padding:18px;}
.cvsq-book-row{display:flex; gap:10px; flex-wrap:wrap;}
.cvsq-book-row .cvsq-email{flex:1 1 200px;}
.cvsq-book-row .btn{cursor:pointer; white-space:nowrap;}
.cvsq-err{color:#f87171; font-size:13px; margin-top:8px;}
.cvsq-booked{color:#0abab5; font-size:14.5px; margin:0; line-height:1.5;}

/* slot picker */
.cvsq-tznote{font-size:12px; color:rgba(255,255,255,.4); margin:0 0 12px;}
.cvsq-days{display:flex; gap:8px; overflow-x:auto; padding-bottom:6px; margin-bottom:14px; scrollbar-width:thin;}
.cvsq-day{
  flex:0 0 auto; cursor:pointer; font-family:inherit; font-size:12.5px; white-space:nowrap;
  color:rgba(255,255,255,.7); background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12); border-radius:10px; padding:8px 12px; transition:all .15s;
}
.cvsq-day:hover{border-color:rgba(10,186,181,.5); color:#fff;}
.cvsq-day.on{color:#fff; background:rgba(10,186,181,.18); border-left:3px solid #0abab5; border-right:3px solid #0abab5;}
.cvsq-times{display:grid; grid-template-columns:repeat(auto-fill,minmax(78px,1fr)); gap:8px; margin-bottom:16px; max-height:180px; overflow-y:auto;}
.cvsq-time{
  cursor:pointer; font-family:inherit; font-size:13.5px; text-align:center;
  color:rgba(255,255,255,.82); background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12); border-radius:10px; padding:9px 6px; transition:all .15s;
}
.cvsq-time:hover{border-color:rgba(10,186,181,.5); background:rgba(10,186,181,.08); color:#fff;}
.cvsq-time.on{color:#fff; background:rgba(10,186,181,.2); border-color:#0abab5; box-shadow:0 0 10px rgba(10,186,181,.3);}
.cvsq-confirm{width:100%;}
.cvsq-confirm:disabled{opacity:.45; cursor:not-allowed;}

.cvsq-trynow{text-align:center; margin-top:18px; font-size:13.5px; color:rgba(255,255,255,.4);}
.cvsq-trynow a{color:#0abab5; text-decoration:none; font-weight:600;}
.cvsq-trynow a:hover{text-decoration:underline;}

[dir="rtl"] .cvsq-chip.on{border-left:3px solid #0abab5; border-right:3px solid #0abab5;}
[dir="rtl"] .cvsq-bullets li{padding:10px 34px 10px 12px;}
[dir="rtl"] .cvsq-bullets li::before{content:"←"; left:auto; right:13px;}
