:root{
  --rfgq-accent:#0fa7a7;
  --rfgq-green:#3aaa35;
  --rfgq-dark:#15222b;
  --rfgq-text:#51606a;
  --rfgq-soft:#eefafa;
  --rfgq-softgreen:#f0faf0;
  --rfgq-border:#c7eeee;
  --rfgq-white:#ffffff;
}

.rfgq-root,
.rfgq-root *,
.rfgq-floating,
.rfgq-inline-btn{
  box-sizing:border-box!important;
  font-family:'Poppins',Arial,sans-serif!important;
}

body.rfgq-lock{
  overflow:hidden!important;
}

.rfgq-root[aria-hidden="true"]{
  display:none!important;
}

.rfgq-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:999996!important;
  background:rgba(15,26,33,.62)!important;
}

.rfgq-modal{
  position:fixed!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:min(940px,94vw)!important;
  max-height:86vh!important;
  overflow:auto!important;
  z-index:999997!important;
  background:#ffffff!important;
  color:var(--rfgq-dark)!important;
  border:2px solid var(--rfgq-dark)!important;
  border-radius:24px!important;
  box-shadow:0 24px 70px rgba(0,0,0,.28)!important;
}

.rfgq-modal:before{
  content:""!important;
  position:absolute!important;
  right:-52px!important;
  top:-58px!important;
  width:155px!important;
  height:155px!important;
  background:var(--rfgq-accent)!important;
  border-radius:50%!important;
  opacity:.12!important;
  pointer-events:none!important;
}

.rfgq-modal:after{
  content:""!important;
  position:absolute!important;
  left:-40px!important;
  bottom:-44px!important;
  width:118px!important;
  height:118px!important;
  background:var(--rfgq-green)!important;
  border-radius:50%!important;
  opacity:.14!important;
  pointer-events:none!important;
}

.rfgq-shell{
  position:relative!important;
  z-index:2!important;
}

.rfgq-close{
  position:sticky!important;
  top:12px!important;
  float:right!important;
  z-index:5!important;
  width:40px!important;
  height:40px!important;
  border:1px solid var(--rfgq-border)!important;
  border-radius:50%!important;
  background:#ffffff!important;
  color:var(--rfgq-dark)!important;
  font-size:28px!important;
  line-height:36px!important;
  cursor:pointer!important;
  margin:12px 12px -52px 0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
}

.rfgq-close:hover{
  background:var(--rfgq-dark)!important;
  color:#ffffff!important;
  border-color:var(--rfgq-dark)!important;
}

.rfgq-intro,
.rfgq-question,
.rfgq-loading,
.rfgq-result-head{
  padding:34px 36px!important;
  position:relative!important;
}

.rfgq-intro{
  max-width:760px!important;
}

.rfgq-kicker,
.rfgq-step{
  display:inline-flex!important;
  align-items:center!important;
  background:var(--rfgq-soft)!important;
  color:var(--rfgq-accent)!important;
  border:1px solid var(--rfgq-border)!important;
  border-radius:999px!important;
  padding:7px 12px!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
  margin:0 0 12px!important;
}

.rfgq-modal h2{
  color:var(--rfgq-dark)!important;
  font-size:clamp(26px,3.3vw,40px)!important;
  font-weight:700!important;
  line-height:1.14!important;
  margin:0 0 12px!important;
  letter-spacing:-.7px!important;
}

.rfgq-modal p{
  color:var(--rfgq-text)!important;
  font-size:15px!important;
  font-weight:400!important;
  line-height:1.62!important;
  margin:0!important;
}

.rfgq-badges{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin:18px 0 24px!important;
}

.rfgq-badges span{
  display:inline-flex!important;
  align-items:center!important;
  background:#ffffff!important;
  color:var(--rfgq-dark)!important;
  border:1px solid var(--rfgq-border)!important;
  border-radius:999px!important;
  padding:8px 12px!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1!important;
}

.rfgq-progress{
  width:calc(100% - 72px)!important;
  height:7px!important;
  margin:30px 36px 0!important;
  background:#e5eeee!important;
  border-radius:999px!important;
  overflow:hidden!important;
}

.rfgq-progress span{
  display:block!important;
  height:100%!important;
  background:var(--rfgq-green)!important;
  border-radius:999px!important;
  transition:width .2s ease!important;
}

.rfgq-answers{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  margin:20px 0 0!important;
}

.rfgq-answer{
  width:100%!important;
  min-height:88px!important;
  text-align:left!important;
  border:1px solid var(--rfgq-border)!important;
  border-radius:18px!important;
  background:#ffffff!important;
  color:var(--rfgq-dark)!important;
  padding:15px!important;
  cursor:pointer!important;
  transition:.18s ease!important;
}

.rfgq-answer span{
  display:block!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.28!important;
  color:var(--rfgq-dark)!important;
}

.rfgq-answer small{
  display:block!important;
  margin-top:6px!important;
  color:var(--rfgq-text)!important;
  font-size:12.5px!important;
  font-weight:400!important;
  line-height:1.38!important;
}

.rfgq-answer:hover,
.rfgq-answer.is-active{
  transform:translateY(-1px)!important;
  border-color:var(--rfgq-accent)!important;
  background:var(--rfgq-soft)!important;
}

.rfgq-actions,
.rfgq-result-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-top:22px!important;
}

.rfgq-result-actions{
  padding:0 36px 34px!important;
  margin-top:18px!important;
  justify-content:flex-end!important;
}

.rfgq-btn,
.rfgq-link,
.rfgq-inline-btn{
  min-height:43px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  padding:11px 18px!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1!important;
  cursor:pointer!important;
  text-decoration:none!important;
  transition:.18s ease!important;
  box-shadow:none!important;
}

.rfgq-btn,
.rfgq-inline-btn{
  background:var(--rfgq-green)!important;
  color:#ffffff!important;
  border:2px solid var(--rfgq-green)!important;
}

.rfgq-btn:hover,
.rfgq-inline-btn:hover{
  background:var(--rfgq-dark)!important;
  border-color:var(--rfgq-dark)!important;
  color:#ffffff!important;
  transform:translateY(-1px)!important;
}

.rfgq-link{
  background:#ffffff!important;
  color:var(--rfgq-dark)!important;
  border:1px solid var(--rfgq-border)!important;
}

.rfgq-link:hover{
  background:var(--rfgq-soft)!important;
  color:var(--rfgq-accent)!important;
  border-color:var(--rfgq-accent)!important;
}

.rfgq-btn:disabled,
.rfgq-link:disabled{
  opacity:.45!important;
  pointer-events:none!important;
}

.rfgq-loading{
  min-height:310px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}

.rfgq-spinner{
  width:46px!important;
  height:46px!important;
  border:4px solid #e6eeee!important;
  border-top-color:var(--rfgq-accent)!important;
  border-radius:50%!important;
  animation:rfgqspin .9s linear infinite!important;
  margin:0 0 14px!important;
}

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

.rfgq-result-head{
  padding-bottom:18px!important;
  background:var(--rfgq-soft)!important;
  border-bottom:1px solid var(--rfgq-border)!important;
}

.rfgq-section{
  padding:18px 36px 10px!important;
}

.rfgq-section h3{
  margin:0 0 4px!important;
  color:var(--rfgq-dark)!important;
  font-size:20px!important;
  line-height:1.2!important;
  font-weight:700!important;
}

.rfgq-section p{
  font-size:13.5px!important;
}

.rfgq-products{
  padding:0 36px 6px!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}

.rfgq-product{
  display:flex!important;
  gap:12px!important;
  align-items:center!important;
  min-width:0!important;
  background:#ffffff!important;
  color:var(--rfgq-dark)!important;
  border:1px solid var(--rfgq-border)!important;
  border-radius:18px!important;
  padding:12px!important;
  text-decoration:none!important;
  transition:.18s ease!important;
}

.rfgq-product:hover{
  transform:translateY(-2px)!important;
  border-color:var(--rfgq-accent)!important;
  color:var(--rfgq-dark)!important;
}

.rfgq-product__img{
  width:78px!important;
  height:78px!important;
  flex:0 0 78px!important;
  background:var(--rfgq-soft)!important;
  border-radius:15px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  color:var(--rfgq-accent)!important;
  font-size:12px!important;
  font-weight:800!important;
}

.rfgq-product__img img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  display:block!important;
}

.rfgq-product em,
.rfgq-guide em{
  display:inline-flex!important;
  align-items:center!important;
  background:var(--rfgq-softgreen)!important;
  color:var(--rfgq-green)!important;
  border:1px solid #cfeecd!important;
  border-radius:999px!important;
  padding:5px 8px!important;
  font-size:10.5px!important;
  font-weight:700!important;
  line-height:1!important;
  font-style:normal!important;
  margin:0 0 7px!important;
}

.rfgq-product h3,
.rfgq-guide h3{
  margin:0 0 5px!important;
  color:var(--rfgq-dark)!important;
  font-size:13.5px!important;
  font-weight:700!important;
  line-height:1.32!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}

.rfgq-product p{
  color:var(--rfgq-green)!important;
  font-weight:700!important;
  font-size:13px!important;
  line-height:1.2!important;
  margin:0 0 5px!important;
}

.rfgq-product small{
  display:block!important;
  color:var(--rfgq-text)!important;
  font-size:11.5px!important;
  font-weight:400!important;
  line-height:1.35!important;
}

.rfgq-guides{
  padding:0 36px 4px!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}

.rfgq-guide{
  display:block!important;
  padding:14px!important;
  background:#ffffff!important;
  border:1px solid var(--rfgq-border)!important;
  border-radius:18px!important;
  color:var(--rfgq-dark)!important;
  text-decoration:none!important;
  transition:.18s ease!important;
}

.rfgq-guide:hover{
  transform:translateY(-2px)!important;
  border-color:var(--rfgq-accent)!important;
  color:var(--rfgq-dark)!important;
}

.rfgq-guide p{
  font-size:12.5px!important;
  line-height:1.48!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}

.rfgq-empty{
  grid-column:1/-1!important;
  padding:15px!important;
  background:var(--rfgq-soft)!important;
  border:1px solid var(--rfgq-border)!important;
  border-radius:16px!important;
  color:var(--rfgq-dark)!important;
  font-size:13.5px!important;
  line-height:1.5!important;
  font-weight:600!important;
}

.rfgq-floating{
  position:fixed!important;
  right:18px!important;
  bottom:34px!important;
  z-index:999995!important;
  display:none!important;
  align-items:center!important;
  gap:8px!important;
  min-height:46px!important;
  padding:0 17px!important;
  border:2px solid var(--rfgq-green)!important;
  border-radius:999px!important;
  background:var(--rfgq-green)!important;
  color:#ffffff!important;
  font-size:13px!important;
  font-weight:700!important;
  cursor:pointer!important;
  box-shadow:0 14px 34px rgba(0,0,0,.22)!important;
}

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

.rfgq-floating span{
  width:22px!important;
  height:22px!important;
  border-radius:50%!important;
  background:#ffffff!important;
  color:var(--rfgq-green)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:12px!important;
}

.rfgq-floating:hover{
  background:var(--rfgq-accent)!important;
  border-color:var(--rfgq-accent)!important;
  color:#ffffff!important;
  transform:translateY(-1px)!important;
}

.rfgq-inline-btn{
  margin:0!important;
}

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

  .rfgq-intro,
  .rfgq-question,
  .rfgq-loading,
  .rfgq-result-head{
    padding:28px 20px!important;
  }

  .rfgq-progress{
    width:calc(100% - 40px)!important;
    margin:26px 20px 0!important;
  }

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

  .rfgq-answers{
    gap:10px!important;
  }

  .rfgq-answer{
    min-height:auto!important;
    padding:14px!important;
  }

  .rfgq-actions,
  .rfgq-result-actions{
    flex-direction:column!important;
    align-items:stretch!important;
  }

  .rfgq-btn,
  .rfgq-link{
    width:100%!important;
  }

  .rfgq-section{
    padding:16px 20px 10px!important;
  }

  .rfgq-products,
  .rfgq-guides{
    padding-left:20px!important;
    padding-right:20px!important;
  }

  .rfgq-result-actions{
    padding:0 20px 28px!important;
  }

  .rfgq-product__img{
    width:70px!important;
    height:70px!important;
    flex-basis:70px!important;
  }

  .rfgq-floating{
    right:14px!important;
    bottom:24px!important;
    min-height:44px!important;
    padding:0 15px!important;
  }
}

/* =========================================================
   v1.0.1 Compact fixed popup patch
   - Modal stays fixed and compact on desktop
   - No horizontal/vertical scroll on intro/questions/loading
   - Only results screen can scroll vertically
   ========================================================= */
html.rfgq-html-lock,
body.rfgq-lock{
  overflow:hidden!important;
}

.rfgq-root{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  z-index:999996!important;
  overflow:hidden!important;
  pointer-events:none!important;
}

.rfgq-root[aria-hidden="false"]{
  pointer-events:auto!important;
}

.rfgq-overlay{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  overflow:hidden!important;
}

.rfgq-modal{
  position:fixed!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:min(720px,calc(100vw - 32px))!important;
  height:auto!important;
  max-height:calc(100vh - 56px)!important;
  overflow:hidden!important;
  border-radius:22px!important;
  border:1px solid var(--rfgq-border)!important;
}

.rfgq-modal,
.rfgq-modal *{
  max-width:100%!important;
}

.rfgq-shell{
  width:100%!important;
  height:auto!important;
  max-height:calc(100vh - 56px)!important;
  overflow:hidden!important;
}

.rfgq-close{
  position:absolute!important;
  top:14px!important;
  right:14px!important;
  float:none!important;
  margin:0!important;
  z-index:30!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  line-height:1!important;
  font-size:26px!important;
}

.rfgq-intro,
.rfgq-question,
.rfgq-loading{
  width:100%!important;
  max-width:none!important;
  max-height:none!important;
  overflow:hidden!important;
  padding:28px 30px!important;
  padding-right:72px!important;
}

.rfgq-intro{
  min-height:0!important;
}

.rfgq-loading{
  min-height:260px!important;
}

.rfgq-kicker,
.rfgq-step{
  margin-bottom:10px!important;
  font-size:11.5px!important;
  padding:7px 12px!important;
}

.rfgq-modal h2{
  font-size:clamp(24px,3vw,34px)!important;
  line-height:1.13!important;
  letter-spacing:-.6px!important;
  margin-bottom:10px!important;
}

.rfgq-modal p{
  font-size:14px!important;
  line-height:1.58!important;
}

.rfgq-badges{
  gap:7px!important;
  margin:16px 0 20px!important;
}

.rfgq-badges span{
  padding:7px 11px!important;
  font-size:11.5px!important;
}

.rfgq-progress{
  width:calc(100% - 60px)!important;
  height:6px!important;
  margin:24px 30px 0!important;
}

.rfgq-answers{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:16px!important;
}

.rfgq-answer{
  min-height:72px!important;
  padding:13px!important;
  border-radius:16px!important;
}

.rfgq-answer span{
  font-size:14px!important;
  line-height:1.25!important;
}

.rfgq-answer small{
  font-size:12px!important;
  line-height:1.35!important;
  margin-top:5px!important;
}

.rfgq-actions{
  margin-top:18px!important;
}

.rfgq-btn,
.rfgq-link,
.rfgq-inline-btn{
  min-height:41px!important;
  padding:10px 17px!important;
  font-size:12.8px!important;
}

/* Only the results page scrolls */
.rfgq-result{
  width:100%!important;
  max-height:calc(100vh - 56px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:0!important;
  -webkit-overflow-scrolling:touch!important;
}

.rfgq-result-head{
  padding:24px 30px 16px!important;
  padding-right:72px!important;
}

.rfgq-section{
  padding:16px 30px 8px!important;
}

.rfgq-products,
.rfgq-guides{
  padding-left:30px!important;
  padding-right:30px!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}

.rfgq-product{
  gap:10px!important;
  padding:10px!important;
  border-radius:16px!important;
}

.rfgq-product__img{
  width:66px!important;
  height:66px!important;
  flex-basis:66px!important;
  border-radius:13px!important;
}

.rfgq-result-actions{
  padding:0 30px 24px!important;
  margin-top:16px!important;
}

@media(max-width:767px){
  .rfgq-modal{
    width:calc(100vw - 20px)!important;
    max-height:calc(100vh - 24px)!important;
    border-radius:18px!important;
  }

  .rfgq-shell,
  .rfgq-result{
    max-height:calc(100vh - 24px)!important;
  }

  .rfgq-close{
    top:10px!important;
    right:10px!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    font-size:24px!important;
  }

  .rfgq-intro,
  .rfgq-question,
  .rfgq-loading,
  .rfgq-result-head{
    padding:22px 16px!important;
    padding-right:56px!important;
  }

  .rfgq-modal h2{
    font-size:26px!important;
  }

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

  .rfgq-progress{
    width:calc(100% - 32px)!important;
    margin:20px 16px 0!important;
  }

  .rfgq-section,
  .rfgq-products,
  .rfgq-guides,
  .rfgq-result-actions{
    padding-left:16px!important;
    padding-right:16px!important;
  }

  .rfgq-actions,
  .rfgq-result-actions{
    flex-direction:column!important;
    align-items:stretch!important;
  }

  .rfgq-actions .rfgq-btn,
  .rfgq-actions .rfgq-link,
  .rfgq-result-actions .rfgq-btn,
  .rfgq-result-actions .rfgq-link{
    width:100%!important;
  }
}
