.femqz2-wrap{
  display:grid;
  grid-template-columns: 1fr 42%;
  gap: 18px;
  align-items:start;
}
.femqz2-card{ position: relative; top: auto; }
  .femqz2-right{ margin-top: 14px; }
}
.femqz2-left,.femqz2-right{ min-width:0; }
.femqz2-head{ margin-bottom: 14px; }
.femqz2-h{ margin:0 0 6px 0; }
.femqz2-sub{ margin:0; opacity:.85; }

.femqz2-progress{ margin: 14px 0 18px; }
.femqz2-progress-bar{
  height:10px; background: rgba(0,0,0,.06);
  border-radius: 999px; overflow:hidden; border:1px solid rgba(0,0,0,.08);
}
.femqz2-progress-bar span{
  display:block; height:100%; width:0%;
  background: #111;
  transition: width .25s ease;
}
.femqz2-progress-text{ margin-top: 8px; font-size: 13px; opacity: .8; }

.femqz2-step{
  background: #fff;
  border:1px solid rgba(0,0,0,.1);
  border-radius: 16px;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
  padding: 18px;
}
.femqz2-q{ margin:0 0 12px 0; font-weight: 800; font-size: 18px; }
.femqz2-options{ display:grid; gap:10px; }
.femqz2-opt{
  display:flex; gap:10px; align-items:flex-start;
  border:1px solid rgba(0,0,0,.12);
  border-radius: 10px;
  padding: 12px 12px;
  cursor:pointer;
  transition: transform .05s ease, border-color .15s ease, background .15s ease;
  background: #fff;
}
.femqz2-opt:hover{ transform: translateY(-1px); border-color: rgba(0,0,0,.25); }
.femqz2-opt input{ margin-top: 3px; }
.femqz2-opt span{ line-height:1.35; }
.femqz2-opt.is-active{ background: rgba(0,0,0,.03); }

.femqz2-nav{ display:flex; gap:10px; margin-top: 14px; }
.femqz2-btn{
  appearance:none; border:none;
  border-radius: 999px;
  padding: 10px 14px;
  cursor:pointer;
  font-weight:700;
}
.femqz2-prev{ background: rgba(0,0,0,.06); color: #111; }
.femqz2-next{ background: #111; color: #fff; }
.femqz2-btn:disabled{ opacity:.45; cursor:not-allowed; }

.femqz2-card{
  position: sticky; top: 18px;
  background: #fff;
  border:1px solid rgba(0,0,0,.1);
  border-radius: 16px;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
  padding: 16px;
}
.femqz2-card-title{ font-weight: 900; font-size: 16px; margin-bottom: 8px; }
.femqz2-card-status{ font-size: 13px; opacity: .8; margin-bottom: 10px; }
.femqz2-result-name{ font-size: 18px; font-weight: 900; margin-bottom: 6px; }
.femqz2-result-desc{ line-height: 1.45; margin-bottom: 10px; }
.femqz2-breakdown{ font-size: 12px; opacity: .8; border-top: 1px dashed rgba(0,0,0,.15); padding-top: 10px; }
.femqz2-result-image img{ max-width:100%; height:auto; border-radius: 12px; margin-bottom: 10px; display:block; }


.femqz2-end{ margin-top: 12px; }
.femqz2-end .femqz2-show-result{ width: 100%; }


/* Mobile layout: force results below (Elementor style controls can set grid-template-columns inline) */
@media (max-width: 1024px){
  .femqz2-wrap{
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .femqz2-right{
    margin-top: 12px;
  }
  .femqz2-card{
    position: relative !important;
    top: auto !important;
  }
}
