/* Microsite2026 Feedback: centred heading and text over the form, in one white card */
.conf-feedback .fb-wrap { max-width: 820px; }
.conf-feedback .fb-intro p:last-child { margin-bottom: 0; }
.conf-feedback .fb-card { padding: 2.5rem; border: 1px solid var(--bs-border-color); border-radius: 1rem; background: var(--bs-body-bg, #fff); box-shadow: 0 .25rem 1.5rem rgba(0, 0, 0, .05); }
.conf-feedback .form-label { font-weight: 600; font-size: .9rem; }
/* The skin colours .btn-reg only inside nav, so the button's colour is set on it in the .ascx */
.conf-feedback .btn-reg:hover, .conf-feedback .btn-reg:focus-visible { filter: brightness(.9); }
.conf-feedback .fb-sent-icon { font-size: 3rem; color: var(--primary, #10383A); }

/* DNN's code verification (CaptchaControl): the image beside its box */
.conf-feedback .ms-captcha table,
.conf-feedback .ms-captcha tbody,
.conf-feedback .ms-captcha tr { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.conf-feedback .ms-captcha td { display: block; padding: 0; }
.conf-feedback .ms-captcha img { border: 1px solid var(--bs-border-color); border-radius: .375rem; }
.conf-feedback .ms-captcha .form-control { max-width: 220px; }

@media (max-width: 575.98px) {
  .conf-feedback .fb-card { padding: 1.5rem 1rem; }
}


/* Floating feedback widget. The module must be present in the page/skin to render. */
.conf-feedback.fb-floating { position: fixed; right: 24px; bottom: 24px; z-index: 1040; width: auto; max-width: none; padding: 0; }
.conf-feedback.fb-floating .fb-toggle { display: flex; align-items: center; gap: .55rem; border:2px solid rgba(255,255,255,0.1); border-radius: 999px; padding: .85rem 1.1rem; color: #fff; background: var(--primary, #10383A); box-shadow: 0 5px 22px rgba(0,0,0,.22); font-weight: 600; cursor: pointer; }
.conf-feedback.fb-floating .fb-toggle:focus-visible, .conf-feedback.fb-floating .fb-close:focus-visible { outline: 3px solid #f24e21; outline-offset: 3px; }
.conf-feedback.fb-floating .fb-dialog { position: absolute; bottom: calc(100% + 12px); right: 0; width: 370px; max-width: calc(100vw - 24px); height: auto; overflow: visible; border: 1px solid #ddd; border-radius: 12px; background: #fff; box-shadow: 0 12px 40px rgba(0,0,0,.2); }
.conf-feedback.fb-floating .fb-dialog[hidden] { display: none !important; }
.conf-feedback.fb-floating .fb-dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; background: var(--primary, #10383A); color: #fff; }
.conf-feedback.fb-floating .fb-dialog-title { margin: 0; font-size: 1.1rem; font-weight: 700; color: inherit; }
.conf-feedback.fb-floating .fb-close { background: transparent; color: inherit; border: 0; font-size: 1.1rem; cursor: pointer; padding: 4px 6px; }
.conf-feedback.fb-floating .fb-dialog-body { padding: 16px; overflow: visible; overscroll-behavior: contain; }
.conf-feedback.fb-floating .fb-intro { font-size: .9rem; }
.conf-feedback.fb-floating .fb-card { padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.conf-feedback.fb-floating .form-label { margin-bottom: .25rem; }
.conf-feedback.fb-floating .ms-captcha table { max-width: 100%; }
.conf-feedback.fb-floating .ms-captcha img { max-width: 100%; height: auto; }
.conf-feedback.fb-floating .fb-sent-icon { font-size: 2.5rem; }
@media (max-width: 575.98px) {
  .conf-feedback.fb-floating { right: 12px; bottom: 12px; }
  .conf-feedback.fb-floating .fb-dialog { width: min(370px, calc(100vw - 24px)); max-height: none; }
  .conf-feedback.fb-floating .fb-dialog-body { max-height: none; }
}

/* Keep the trigger interactive above overlapping microsite sections. */
.conf-feedback.fb-floating { pointer-events: auto; isolation: isolate; z-index: 1040; }
.conf-feedback.fb-floating .fb-toggle { position: relative; z-index: 2; pointer-events: auto; }

/* Round, icon-only inquiry launcher */
.conf-feedback.fb-floating .fb-toggle {
  width: 58px; height: 58px; padding: 0;
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  gap: 0; background: var(--primary, #10383A); color: #fff;
  line-height: 1; flex-shrink: 0;
   
}
.conf-feedback.fb-floating .fb-toggle .bi { color: #fff; font-size: 26px; line-height: 1; }
.conf-feedback.fb-floating .fb-toggle:hover { filter: brightness(1.1); }

/* Auto-height at every viewport width. No internal scrollbar. */
.conf-feedback.fb-floating .fb-dialog {
  height: auto;
  max-height: none;
  overflow: visible;
}
.conf-feedback.fb-floating .fb-dialog-body {
  height: auto;
  max-height: none;
  overflow: visible;
  overscroll-behavior: auto;
}

/* Keep the narrower-screen form compact. */
@media (max-width: 575.98px) {
  .conf-feedback.fb-floating .fb-dialog {
    max-height: none;
    overflow: visible;
  }
  .conf-feedback.fb-floating .fb-dialog-body {
    padding: 12px;
    max-height: none;
    overflow: visible;
  }
  .conf-feedback.fb-floating .fb-dialog-header { padding: 10px 12px; }
}

/* Compact form and natural panel height: final overrides */
.conf-feedback.fb-floating .fb-dialog {
  display: block;
  height: max-content !important;
  max-height: none !important;
  overflow: visible !important;
}
.conf-feedback.fb-floating .fb-dialog[hidden] { display: none !important; }
.conf-feedback.fb-floating .fb-dialog-body {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
.conf-feedback.fb-floating .fb-dialog-body .fb-card,
.conf-feedback.fb-floating .fb-dialog-body .fb-intro,
.conf-feedback.fb-floating .fb-dialog-body .row {
  max-height: none !important;
  overflow: visible !important;
}
.conf-feedback.fb-floating .fb-dialog-body { padding: 12px 16px; }
.conf-feedback.fb-floating .fb-dialog-body .row.g-3 { --bs-gutter-y: .65rem; }
.conf-feedback.fb-floating .fb-dialog-body .form-control { padding: .4rem .65rem; }
.conf-feedback.fb-floating .fb-dialog-body textarea.form-control { min-height: 72px; height: 72px; }
.conf-feedback.fb-floating .fb-dialog-body .fb-intro { margin-bottom: .7rem !important; }
.conf-feedback.fb-floating .fb-dialog-body .col-12.pt-2 { padding-top: 0 !important; }
/* Avoid clipping the top of the panel on short screens: scrolling only as a fallback. */
@media (max-height: 690px) {
  .conf-feedback.fb-floating .fb-dialog { max-height: calc(100dvh - 110px) !important; overflow: hidden !important; }
  .conf-feedback.fb-floating .fb-dialog-body { max-height: calc(100dvh - 166px) !important; overflow-y: auto !important; }
}



