/* Smart Buyers Mart AI Product Quiz Frontend */
.sbmq-root,
.sbmq-root *{
  box-sizing:border-box!important;
  font-family:'Poppins',Arial,sans-serif!important;
  text-rendering:optimizeLegibility!important;
  -webkit-font-smoothing:antialiased!important;
  -moz-osx-font-smoothing:grayscale!important;
}

.sbmq-root{
  position:fixed;
  inset:0;
  z-index:999998;
  pointer-events:none;
  color:#050505;
}

.sbmq-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.56);
  backdrop-filter:blur(6px);
  pointer-events:auto;
}

.sbmq-modal{
  --sbmq-accent:#ff0000;
  --sbmq-dark:#050505;
  position:fixed;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(94vw,980px);
  max-height:90vh;
  overflow-y:auto;
  overflow-x:hidden;
  background:#ffffff;
  border:3px solid var(--sbmq-dark);
  border-radius:28px;
  box-shadow:0 30px 90px rgba(0,0,0,.38);
  z-index:999999;
  color:#050505;
  pointer-events:auto;
}

.sbmq-modal:before{
  content:"";
  position:absolute;
  width:120px;
  height:120px;
  right:-48px;
  top:-48px;
  border-radius:50%;
  background:var(--sbmq-accent);
  opacity:.15;
  pointer-events:none;
  z-index:0;
}

.sbmq-modal:after{
  content:"";
  position:absolute;
  width:82px;
  height:82px;
  left:-34px;
  bottom:-34px;
  border-radius:50%;
  background:var(--sbmq-accent);
  opacity:.10;
  pointer-events:none;
  z-index:0;
}

.sbmq-close{
  position:absolute;
  right:16px;
  top:14px;
  width:44px;
  height:44px;
  border:none;
  border-radius:50%;
  background:#050505;
  color:#ffffff;
  font-size:28px;
  font-weight:500!important;
  line-height:1;
  cursor:pointer;
  z-index:5;
  box-shadow:0 8px 22px rgba(0,0,0,.18);
}

.sbmq-close:hover{
  background:var(--sbmq-accent);
}

.sbmq-intro,
.sbmq-question,
.sbmq-loading,
.sbmq-result-head{
  position:relative;
  padding:44px;
  z-index:2;
}

.sbmq-intro:before,
.sbmq-question:before,
.sbmq-loading:before,
.sbmq-result-head:before{
  content:"";
  position:absolute;
  inset:22px;
  border-radius:22px;
  background:#ffffff;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 14px 34px rgba(0,0,0,.08);
  z-index:-1;
}

.sbmq-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 12px!important;
  padding:8px 13px;
  border-radius:999px;
  background:#fff1f1;
  border:1px solid rgba(255,0,0,.22);
  color:var(--sbmq-accent);
  font-size:11px!important;
  font-weight:700!important;
  line-height:1.15!important;
  letter-spacing:.055em!important;
  text-transform:uppercase;
}

.sbmq-kicker:before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--sbmq-accent);
  display:inline-block;
}

.sbmq-kicker--noicon:before{
  display:none;
}

.sbmq-modal h2{
  margin:0 0 12px!important;
  color:#050505!important;
  font-size:clamp(31px,4.3vw,52px)!important;
  font-weight:800!important;
  line-height:1.16!important;
  letter-spacing:-.025em!important;
  word-spacing:1px!important;
}

.sbmq-sub,
.sbmq-question > p:not(.sbmq-kicker),
.sbmq-loading p,
.sbmq-result-head p:not(.sbmq-kicker){
  margin:0!important;
  max-width:780px;
  color:#333333;
  font-size:clamp(15px,1.35vw,18px)!important;
  font-weight:400!important;
  line-height:1.7!important;
  letter-spacing:0!important;
  word-spacing:1px!important;
}

.sbmq-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:18px 0 22px;
}

.sbmq-badges span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 11px;
  border-radius:999px;
  background:#ffffff;
  border:1px solid rgba(255,0,0,.24);
  color:#050505;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1!important;
}

.sbmq-badges span:before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--sbmq-accent);
}

.sbmq-btn,
.sbmq-inline-button{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  padding:13px 22px!important;
  border-radius:999px!important;
  border:2px solid var(--sbmq-accent)!important;
  background:var(--sbmq-accent)!important;
  color:#ffffff!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:0!important;
  text-decoration:none!important;
  cursor:pointer!important;
  transition:transform .16s ease, background .16s ease, color .16s ease, border-color .16s ease!important;
}

.sbmq-btn:hover,
.sbmq-inline-button:hover{
  background:#050505!important;
  border-color:#050505!important;
  color:#ffffff!important;
  transform:translateY(-1px)!important;
}

.sbmq-btn[disabled]{
  opacity:.45!important;
  cursor:not-allowed!important;
  transform:none!important;
}

.sbmq-link{
  appearance:none!important;
  -webkit-appearance:none!important;
  background:transparent!important;
  border:0!important;
  color:#555555!important;
  font-size:13px!important;
  font-weight:500!important;
  line-height:1.4!important;
  text-decoration:none!important;
  cursor:pointer!important;
  margin-left:12px;
}

.sbmq-link:hover{
  color:var(--sbmq-accent)!important;
}

.sbmq-progress{
  height:7px;
  background:#eeeeee;
  position:relative;
  z-index:3;
  overflow:hidden;
}

.sbmq-progress span{
  display:block;
  height:100%;
  background:var(--sbmq-accent);
  transition:width .25s ease;
}

.sbmq-answers{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:22px;
}

.sbmq-answer{
  appearance:none!important;
  -webkit-appearance:none!important;
  text-align:left;
  background:#ffffff;
  border:1px solid #e8e8e8;
  border-radius:18px;
  padding:16px 17px;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(0,0,0,.05);
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.sbmq-answer:hover{
  transform:translateY(-2px);
  border-color:var(--sbmq-accent);
  box-shadow:0 12px 28px rgba(0,0,0,.09);
}

.sbmq-answer span{
  display:block;
  margin:0 0 6px;
  color:#050505;
  font-size:16px!important;
  font-weight:800!important;
  line-height:1.32!important;
  letter-spacing:-.015em!important;
  word-spacing:1px!important;
}

.sbmq-answer small{
  display:block;
  color:#555555;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.55!important;
}

.sbmq-actions{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:22px;
}

.sbmq-loading{
  text-align:center;
}

.sbmq-spinner{
  width:52px;
  height:52px;
  border-radius:50%;
  border:4px solid #eeeeee;
  border-top-color:var(--sbmq-accent);
  animation:sbmqspin 1s linear infinite;
  margin:4px auto 18px;
}

@keyframes sbmqspin{to{transform:rotate(360deg)}}

.sbmq-result-head{
  padding:34px 36px 20px;
}

.sbmq-result-head:before{
  inset:16px 22px 14px;
  border-radius:22px;
}

.sbmq-result-head h2{
  max-width:800px;
  margin-bottom:10px!important;
}

.sbmq-section-title{
  position:relative;
  z-index:2;
  padding:8px 36px 12px;
}

.sbmq-section-title h3{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 5px!important;
  color:#050505!important;
  font-size:22px!important;
  font-weight:800!important;
  line-height:1.28!important;
  letter-spacing:-.015em!important;
}

.sbmq-section-title h3:before{
  content:"";
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--sbmq-accent);
  box-shadow:0 0 0 4px #fff1f1;
}

.sbmq-section-title p{
  margin:0!important;
  color:#555555;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.5!important;
}

.sbmq-products{
  position:relative;
  z-index:2;
  padding:0 36px 20px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.sbmq-product{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:116px;
  padding:14px;
  border-radius:20px;
  background:#ffffff;
  border:1px solid #e8e8e8;
  box-shadow:0 10px 26px rgba(0,0,0,.07);
  color:#050505!important;
  text-decoration:none!important;
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.sbmq-product:hover{
  transform:translateY(-2px);
  border-color:var(--sbmq-accent);
  box-shadow:0 14px 30px rgba(0,0,0,.09);
  color:#050505!important;
}

.sbmq-product img{
  width:84px;
  height:84px;
  flex:0 0 84px;
  object-fit:contain;
  background:#ffffff;
  border:1px solid #eeeeee;
  border-radius:16px;
  padding:7px;
}

.sbmq-product em,
.sbmq-guide em{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0 0 7px;
  background:#fff1f1;
  border:1px solid rgba(255,0,0,.22);
  color:var(--sbmq-accent);
  border-radius:999px;
  font-style:normal;
  font-size:11px!important;
  font-weight:700!important;
  line-height:1!important;
  padding:6px 10px;
}

.sbmq-product h3,
.sbmq-guide h3{
  margin:0 0 5px!important;
  color:#050505!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1.34!important;
  letter-spacing:-.015em!important;
  word-spacing:1px!important;
}

.sbmq-product p{
  margin:0 0 6px!important;
  color:var(--sbmq-accent);
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.3!important;
}

.sbmq-product small,
.sbmq-guide small{
  display:block;
  color:#666666;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1.4!important;
}

.sbmq-guides-title{
  padding-top:8px;
}

.sbmq-guides{
  position:relative;
  z-index:2;
  padding:0 36px 28px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.sbmq-guide{
  display:block;
  position:relative;
  padding:18px 18px 18px 20px;
  border-radius:20px;
  background:#ffffff;
  border:1px solid #e8e8e8;
  box-shadow:0 10px 26px rgba(0,0,0,.06);
  overflow:hidden;
  text-decoration:none!important;
  color:#050505!important;
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.sbmq-guide:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:var(--sbmq-accent);
}

.sbmq-guide:hover{
  transform:translateY(-2px);
  border-color:var(--sbmq-accent);
  box-shadow:0 14px 30px rgba(0,0,0,.08);
}

.sbmq-guide-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--sbmq-accent);
  display:inline-block;
}

.sbmq-guide p{
  margin:0 0 8px!important;
  color:#444444;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.55!important;
}

.sbmq-result-actions{
  position:relative;
  z-index:2;
  padding:0 36px 36px;
  margin-top:0;
}

.sbmq-floating{
  position:fixed;
  right:22px;
  bottom:54px;
  z-index:999997;
  border:none;
  border-radius:999px;
  background:#050505;
  color:#ffffff;
  padding:14px 20px;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1!important;
  box-shadow:0 16px 38px rgba(0,0,0,.32);
  cursor:pointer;
  pointer-events:auto;
  display:none;
}

.sbmq-floating.is-visible{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
}

.sbmq-floating span{
  display:inline-block!important;
  font-size:18px!important;
  line-height:1!important;
}

.sbmq-floating:hover{
  background:var(--sbmq-accent);
}

@media(max-width:760px){
  .sbmq-modal{
    width:92vw;
    border-radius:22px;
  }

  .sbmq-intro,
  .sbmq-question,
  .sbmq-loading,
  .sbmq-result-head{
    padding:30px 22px;
  }

  .sbmq-intro:before,
  .sbmq-question:before,
  .sbmq-loading:before,
  .sbmq-result-head:before{
    inset:12px;
    border-radius:18px;
  }

  .sbmq-modal h2{
    font-size:28px!important;
    line-height:1.22!important;
    letter-spacing:-.018em!important;
  }

  .sbmq-sub,
  .sbmq-loading p,
  .sbmq-result-head p:not(.sbmq-kicker){
    font-size:14px!important;
    line-height:1.68!important;
  }

  .sbmq-answers,
  .sbmq-products,
  .sbmq-guides{
    grid-template-columns:1fr;
  }

  .sbmq-actions{
    flex-direction:column;
  }

  .sbmq-btn,
  .sbmq-link{
    width:100%!important;
    margin-left:0!important;
    text-align:center!important;
  }

  .sbmq-section-title{
    padding:10px 22px 10px;
  }

  .sbmq-products,
  .sbmq-guides{
    padding-left:22px;
    padding-right:22px;
  }

  .sbmq-product{
    min-height:auto;
  }

  .sbmq-product img{
    width:72px;
    height:72px;
    flex-basis:72px;
  }

  .sbmq-result-actions{
    padding:0 22px 28px;
  }

  .sbmq-floating{
    right:16px;
    bottom:50px;
    padding:12px 16px;
  }
}
