.page-wrapper{max-width:1200px;margin:0 auto;padding:20px}

/* lift Bootstrap width caps */
.container-fluid,.container,.container-lg,.container-md,
.container-sm,.container-xl,.container-xxl{max-width:100%!important}

/* let Shiny input groups and form elements fill the column */
.form-group.shiny-input-container,
.checkbox,.radio{max-width:100%!important;width:100%!important;padding-right:0!important}

/* top bar that holds selector + logos */
.top-bar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:nowrap;
  padding:20px 10%;   /* 1/12 of the width on both sides */
  width:100%;
}

.top-bar .logo-bar img{
  max-height:40px;   /* desktop upper-limit */
  width:auto;
}

@media (max-width:992px){          /* small-laptop / tablet landscape   */
  .top-bar .logo-bar img{max-height:45px}
  .top-bar .logo-bar{gap:24px}     /* tighten spacing a bit             */
}

@media (max-width:768px){          /* phone layout */
  .top-bar{
    flex-direction:column-reverse; /*   ↓ language under logos  */
    gap:20px;
    padding:20px 0;
  }
  .top-bar .logo-bar img{max-height:40px}
}
.progress-wrapper {
  margin: 10px auto 30px auto;
  max-width: 800px;
  padding: 0 10px;
}

.progress {
  height: 12px;
  background-color: #e9ecef;
  border-radius: 10px;
  overflow: hidden;
}

.progress-bar {
  background-color: #C1002A;
  height: 100%;
  transition: width 0.4s ease;
}
.footer {
  padding-top: 20px;
  padding-bottom: 20px;
  text-align: justify;
  font-size: 0.9em;
  color: #888;
}
.page-wrapper {
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
}

.footer p {
  text-align: justify !important;
}
.footer h4 {
  text-align: center; /* or justify if preferred */
}

/* override Bootstrap primary buttons */
.btn.btn-primary {
  background-color: #C1002A;
  border-color: #C1002A;
}
.btn.btn-primary:hover,
.btn.btn-primary:focus {
  background-color: #A00027;  /* slightly darker on hover/focus */
  border-color: #A00027;
}
.btn-group .btn {
  flex: 1;
  margin: 0 5px;         /* horizontal spacing between buttons */
  text-align: center;
}

.btn-group .btn:first-child {
  margin-left: 0;         /* no extra space on the far left */
}

.btn-group .btn:last-child {
  margin-right: 0;        /* no extra space on the far right */
}