

/* Top navbar */
body,
html {
  margin: 0;
  padding: 0;
  height: 100%;
  font-family: "Inter", sans-serif;
  color: #000 !important;
  
}
body{
  overflow-x: hidden;
}
/* @font-face {
  font-family: AlteHaasGrotesk;
  src: url("/assets/fonts/GraphikCompact-Regular-Trial.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
} */
/* @font-face {
  font-family: AlteHaasGrotesk;
  src: url("/assets/fonts/GraphikCompact-Bold-Trial.otf") format("opentype");
  font-weight: bold;
  font-style: normal;
} */

h2{
  font-size: 40px !important;
  font-weight: 700 !important;
}
p, a, div{
  font-size: 18px !important;
  font-family: "Inter", sans-serif !important;
}
section{
  overflow: unset !important;
}
p{
  font-weight: 400 !important;
}

.bmq-shell{
 min-height: 100dvh;  /* fills viewport if content is short */
  height: auto;
  display: flex;
  flex-direction: column; 
  align-items: center;
  padding: 20px;
  background: url(/assets/img/Survey-Banner.svg) center/cover no-repeat;
  backdrop-filter: blur(4px);
  border-radius: 18px;
  box-shadow: 0 15px 40px rgba(27,73,127,.08);
  border: 1px solid #e8f0fb;
  gap: 20px;
}

.bmq-shell .bmobile-logo{
  display: flex;
  justify-content: flex-end;
  width: 100%;
}

/* Inner container to hold everything */
.bmq-container {
  width: 100%;
  max-width: 920px;
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* ---------- progress ---------- */
.bmq-progress-wrap{
  width: 100%;
  max-width: 950px;
  position: relative;
  /* margin-bottom: 20px; */
}
.bmq-progress{
  
  height: 20px;
  background: #e9f2ff;
  margin-bottom: 10px;
  margin-top: 10px;
  border-radius: 999px;
  overflow: hidden;
}
.bmq-progress-text {
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translateY(-50%);
  font-weight: 600;
  font-size: 0.85rem;
  color: #000;
}
.bmq-progress .bmq-progress-bar{
  height: 20px;
  width: 0%;
  transition: width .35s ease;
  background: linear-gradient(90deg,#7cc5ff,#4aa9ff 60%, #2f93ff);
}
.bmq-progress-wrap p {
  margin-top: 8px;
}
.bmq-counter{
  font-weight: 600;
  color:#314b73;
  font-size: .98rem;
  margin-top: 10px;
  text-align: center;
}

/* ---------- step ---------- */
.bmq-step {
  display: none; /* hide by default */
  flex: 1; /* take remaining height */
  flex-direction: column;
  justify-content: space-between; /* pushes nav to bottom */
}
.bmq-step.bmq-active {
  display: flex; /* show active step */
}
#bmq-form {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0; /* allow children to shrink/scroll correctly */
  margin-bottom: 20px;
}
.wd-50{
  width: 50%;
}
.wd-100{
  width: 100%;
}
.bmq-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 300px;
  align-items: center;
}

.bmq-q{
  font-size: 18px;
  font-weight: 700;
  color: #000;
  margin-bottom: .5rem;
}
.bmq-sub{
  margin-bottom: 1rem;
  color:#5b6f8a;
  font-style: italic;
  font-size: .95rem;
}

/* Options list fills available space evenly */
.vstack {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start; /* options start at top */
}

.bmq-option{
  border-radius: 14px;
  padding: 10px 14px;
  cursor: pointer;
  transition: background .2s ease, box-shadow .2s ease;
}
.bmq-option input {
  margin-right: 8px;
}
.bmq-option:hover{
  color: #3c3f42;
  /* background:#f5faff; */
  /* box-shadow: 0 0 0 2px #e5f2ff inset; */
}

/* ---------- nav buttons ---------- */
.bmq-nav{
  margin-top: 16px;
  display:flex;
  gap:10px;
  justify-content:center;
}
.bmq-btn{
  border-radius: 999px !important;
  padding: .45rem 1rem !important;
  font-weight: 600 !important;
  box-shadow: 0 6px 18px rgba(64,148,255,.18);
  
}

/* Shared circular bubble */
.bmq-btn-circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.65);
  color: currentColor;        /* arrow color follows button text color */
  box-shadow: inset 0 0 0 1px rgba(9, 36, 80, 0.06);
  transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
  font-weight: 700;
  line-height: 1;
}
.btn.bmq-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px; /* space between label and the circle */
}
.bmq-btn:disabled{
  box-shadow:none;
  opacity:.6;
  cursor:not-allowed;
}
/* Disabled state for the bubble */
.bmq-btn:disabled .bmq-btn-circle {
  opacity: .7;
  box-shadow: inset 0 0 0 1px rgba(9, 36, 80, 0.04);
}
/* Nice focus ring for keyboard users */
.bmq-btn:focus-visible .bmq-btn-circle {
  outline: none;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25), inset 0 0 0 1px rgba(9, 36, 80, 0.1);
}


/* Optional: keep edges comfy */
.bmq-btn-next { padding-right: .6rem !important; }
.bmq-btn-prev { padding-left:  .6rem !important; }

/* Hover effects (directional nudge) */
.bmq-btn-next:not(:disabled):hover .bmq-btn-circle, .bmq-btn-prev:not(:disabled):hover .bmq-btn-circle, .bmq-btn-submit:not(:disabled):hover .bmq-btn-circle {
  transform: translateX(2px);
  background: #fff;
  box-shadow: 0 4px 12px rgba(9, 36, 80, 0.12), inset 0 0 0 1px rgba(9, 36, 80, 0.08);
}


.bmq-btn-next, .bmq-btn-submit, .bmq-btn-prev{
  background:#B3EAFA !important; border:0 !important;
  color: #092450 !important;
  opacity: 1 !important;
}
.form-check-input{
  width: 14px !important;
  height: 14px !important;
  margin-left: unset !important;
}
.form-check-input[type=radio], .form-check-input[type=checkbox]{
  border:1px solid #000;
  margin-top: 7px;
}

/* small tweaks */
@media (max-width: 576px){
  .bmq-shell{ margin: 20px 12px; }
  .bmq-step{ padding: 12px 16px 20px; }
  .bmq-progress-wrap{ padding: 18px 16px 2px; }
  .bmq-shell .bmobile-logo{
    display: inline-block !important;
  }
  .bmq-shell .bmobile-logo img{
    width: 100%;
  }
  .bmq-progress-text{
    top: 65%;
    right: 40%;
  }
}

@media (max-width: 768px){
  .bmq-content .wd-50{
  width: 100%;
}
}


/* Footer section */