/* NutriFlexMarket AI Quiz Frontend | Solid Colors Only */
.nfmq-root,
.nfmq-root *{
  box-sizing:border-box!important;
  font-family:'Lato',Arial,sans-serif!important;
}

.nfmq-backdrop{
  position:fixed!important;
  inset:0!important;
  background:rgba(5,61,54,.64)!important;
  z-index:999998!important;
}

.nfmq-modal{
  --nfmq-accent:#48a81f;
  --nfmq-dark:#064f46;
  position:fixed!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:min(94vw,980px)!important;
  max-height:88vh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  z-index:999999!important;
  background:#f7fbf8!important;
  border:2px solid #b9dfcf!important;
  border-radius:26px!important;
  color:#064f46!important;
}

.nfmq-modal:before{
  content:""!important;
  position:absolute!important;
  width:180px!important;
  height:180px!important;
  right:-74px!important;
  top:-78px!important;
  background:#eaf7ef!important;
  border:22px solid #b9dfcf!important;
  border-radius:50%!important;
  pointer-events:none!important;
  z-index:0!important;
}

.nfmq-modal:after{
  content:""!important;
  position:absolute!important;
  width:115px!important;
  height:115px!important;
  left:-52px!important;
  bottom:-56px!important;
  background:#ffffff!important;
  border:16px solid #eaf7ef!important;
  border-radius:50%!important;
  pointer-events:none!important;
  z-index:0!important;
}

.nfmq-close{
  position:absolute!important;
  right:16px!important;
  top:14px!important;
  width:38px!important;
  height:38px!important;
  border-radius:50%!important;
  border:1px solid #b9dfcf!important;
  background:#ffffff!important;
  color:#064f46!important;
  font-size:25px!important;
  line-height:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
  z-index:10!important;
  font-weight:900!important;
}

.nfmq-close:hover{
  background:#064f46!important;
  border-color:#064f46!important;
  color:#ffffff!important;
}

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

.nfmq-intro,
.nfmq-question,
.nfmq-loading{
  text-align:center!important;
}

.nfmq-loading{
  min-height:330px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
}

.nfmq-kicker{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0 0 13px!important;
  padding:8px 14px!important;
  border-radius:999px!important;
  background:#ffffff!important;
  color:#0b6b5d!important;
  border:1px solid #b9dfcf!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
}

.nfmq-kicker:before{
  content:""!important;
  width:8px!important;
  height:8px!important;
  background:#ff7a00!important;
  border-radius:50%!important;
  flex:0 0 8px!important;
}

.nfmq-kicker--noicon:before{display:none!important;}

.nfmq-modal h2{
  margin:0!important;
  color:#064f46!important;
  font-size:clamp(32px,4.5vw,52px)!important;
  line-height:1.06!important;
  font-weight:900!important;
  letter-spacing:-1.15px!important;
}

.nfmq-sub,
.nfmq-modal p{
  color:#244d46!important;
  font-size:16px!important;
  line-height:1.66!important;
  font-weight:500!important;
}

.nfmq-sub{
  max-width:740px!important;
  margin:14px auto 0!important;
}

.nfmq-badges{
  margin:22px auto 0!important;
  display:flex!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:10px!important;
}

.nfmq-badges span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  background:#ffffff!important;
  color:#0b6b5d!important;
  border:1px solid #b9dfcf!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
}

.nfmq-btn,
a.nfmq-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  margin-top:24px!important;
  padding:13px 24px!important;
  border-radius:999px!important;
  border:2px solid #064f46!important;
  background:#064f46!important;
  color:#ffffff!important;
  text-decoration:none!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:900!important;
  cursor:pointer!important;
  transition:.18s ease!important;
}

.nfmq-btn:hover,
a.nfmq-btn:hover{
  background:#48a81f!important;
  border-color:#48a81f!important;
  color:#ffffff!important;
  transform:translateY(-1px)!important;
}

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

.nfmq-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-top:24px!important;
  padding:12px 14px!important;
  border:none!important;
  background:transparent!important;
  color:#0b6b5d!important;
  text-decoration:underline!important;
  text-decoration-thickness:2px!important;
  text-underline-offset:5px!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:900!important;
  cursor:pointer!important;
}

.nfmq-progress{
  position:relative!important;
  z-index:3!important;
  height:8px!important;
  width:100%!important;
  background:#eaf7ef!important;
  overflow:hidden!important;
}

.nfmq-progress span{
  display:block!important;
  height:100%!important;
  background:#48a81f!important;
  transition:.22s ease!important;
}

.nfmq-answers{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
  margin-top:25px!important;
}

.nfmq-answer{
  text-align:left!important;
  border:1px solid #b9dfcf!important;
  background:#ffffff!important;
  border-radius:18px!important;
  padding:17px 18px!important;
  cursor:pointer!important;
  color:#064f46!important;
  transition:.18s ease!important;
}

.nfmq-answer:hover,
.nfmq-answer.active{
  border-color:#48a81f!important;
  background:#eaf7ef!important;
  transform:translateY(-1px)!important;
}

.nfmq-answer span{
  display:block!important;
  font-size:15px!important;
  line-height:1.35!important;
  font-weight:900!important;
  color:#064f46!important;
}

.nfmq-answer small{
  display:block!important;
  color:#244d46!important;
  font-size:12.5px!important;
  line-height:1.45!important;
  margin-top:7px!important;
  font-weight:500!important;
}

.nfmq-actions{
  display:flex!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin-top:26px!important;
}

.nfmq-actions .nfmq-btn,
.nfmq-actions .nfmq-link{
  margin-top:0!important;
}

.nfmq-spinner{
  width:54px!important;
  height:54px!important;
  border-radius:50%!important;
  border:5px solid #eaf7ef!important;
  border-top-color:#48a81f!important;
  animation:nfmqspin 1s linear infinite!important;
  margin-bottom:18px!important;
}

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

.nfmq-result-head{
  text-align:left!important;
  padding-bottom:18px!important;
}

.nfmq-result-head h2{
  max-width:760px!important;
}

.nfmq-result-head p:not(.nfmq-kicker){
  max-width:780px!important;
  margin:12px 0 0!important;
}

.nfmq-section-title{
  position:relative!important;
  z-index:2!important;
  padding:0 44px 10px!important;
  margin-top:4px!important;
}

.nfmq-section-title h3{
  margin:0 0 5px!important;
  color:#064f46!important;
  font-size:22px!important;
  line-height:1.25!important;
  font-weight:900!important;
}

.nfmq-section-title p{
  margin:0!important;
  color:#244d46!important;
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:500!important;
}

.nfmq-products,
.nfmq-guides{
  position:relative!important;
  z-index:2!important;
  padding:0 44px 18px!important;
  display:grid!important;
  grid-template-columns:repeat(2,1fr)!important;
  gap:12px!important;
}

.nfmq-product,
.nfmq-guide{
  display:flex!important;
  gap:12px!important;
  padding:12px!important;
  background:#ffffff!important;
  border:1px solid #b9dfcf!important;
  border-radius:18px!important;
  text-decoration:none!important;
  color:#064f46!important;
  min-height:116px!important;
  align-items:center!important;
  transition:.18s ease!important;
}

.nfmq-guide{
  display:block!important;
  padding:16px 17px!important;
  min-height:auto!important;
}

.nfmq-product:hover,
.nfmq-guide:hover{
  transform:translateY(-2px)!important;
  color:#064f46!important;
  border-color:#48a81f!important;
}

.nfmq-product img{
  width:82px!important;
  height:82px!important;
  flex:0 0 82px!important;
  object-fit:contain!important;
  border-radius:14px!important;
  background:#ffffff!important;
  border:1px solid #eaf7ef!important;
  padding:6px!important;
}

.nfmq-product em,
.nfmq-guide em{
  display:inline-flex!important;
  font-style:normal!important;
  font-size:11px!important;
  line-height:1!important;
  background:#eaf7ef!important;
  color:#0b6b5d!important;
  border:1px solid #b9dfcf!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  margin:0 0 7px!important;
  font-weight:900!important;
}

.nfmq-product h3,
.nfmq-guide h3{
  font-size:14px!important;
  line-height:1.3!important;
  margin:0 0 5px!important;
  color:#064f46!important;
  font-weight:900!important;
}

.nfmq-guide h3{
  font-size:15px!important;
}

.nfmq-product p{
  margin:0 0 4px!important;
  color:#48a81f!important;
  font-size:13px!important;
  line-height:1.3!important;
  font-weight:900!important;
}

.nfmq-product small,
.nfmq-guide small,
.nfmq-guide p{
  font-size:12.5px!important;
  color:#244d46!important;
  line-height:1.45!important;
  display:block!important;
  font-weight:500!important;
}

.nfmq-guide p{
  margin:0 0 6px!important;
  font-size:13px!important;
}

.nfmq-result-actions{
  position:relative!important;
  z-index:2!important;
  padding:0 44px 38px!important;
}

.nfmq-floating,
.nfmq-shortcode-button{
  border:none!important;
  border-radius:999px!important;
  background:#064f46!important;
  color:#ffffff!important;
  padding:14px 20px!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:900!important;
  cursor:pointer!important;
  text-decoration:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
}

.nfmq-floating{
  position:fixed!important;
  right:24px!important;
  bottom:50px!important;
  z-index:999997!important;
  display:none!important;
}

.nfmq-floating.is-visible{
  display:flex!important;
}

.nfmq-floating span{
  width:20px!important;
  height:20px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  background:#ff7a00!important;
  color:#ffffff!important;
  font-size:12px!important;
}

.nfmq-shortcode-button:hover,
.nfmq-floating:hover{
  background:#48a81f!important;
  color:#ffffff!important;
}

@media(max-width:760px){
  .nfmq-modal{
    width:92vw!important;
    border-radius:22px!important;
    max-height:86vh!important;
  }

  .nfmq-modal:before{
    width:126px!important;
    height:126px!important;
    right:-58px!important;
    top:-60px!important;
    border-width:16px!important;
  }

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

  .nfmq-modal h2{
    font-size:30px!important;
    letter-spacing:-.7px!important;
  }

  .nfmq-sub,
  .nfmq-modal p{
    font-size:14.5px!important;
    line-height:1.58!important;
  }

  .nfmq-answers,
  .nfmq-products,
  .nfmq-guides{
    grid-template-columns:1fr!important;
  }

  .nfmq-products,
  .nfmq-guides,
  .nfmq-section-title{
    padding-left:22px!important;
    padding-right:22px!important;
  }

  .nfmq-product{
    min-height:auto!important;
  }

  .nfmq-product img{
    width:70px!important;
    height:70px!important;
    flex-basis:70px!important;
  }

  .nfmq-actions{
    flex-direction:column!important;
  }

  .nfmq-actions .nfmq-btn,
  .nfmq-actions .nfmq-link,
  .nfmq-btn,
  .nfmq-link{
    width:100%!important;
    text-align:center!important;
  }

  .nfmq-result-actions{
    padding:0 22px 28px!important;
  }

  .nfmq-floating{
    right:16px!important;
    bottom:50px!important;
    padding:12px 16px!important;
    font-size:13px!important;
  }
}
