/* First-visit notices: the medical disclaimer (WP Disclaimer Popup markup) and the Cookiebot banner
   (custom template #cookiebanner). 2026-10-09, Julia: "much more elegant and smaller", and on phones
   visitors could not see or tap the disclaimer buttons under the cookie bar. */

/* 1. Disclaimer: a clean card; the text scrolls and the two answers stay in view */
body.modal-wpdp .mfp-bg {
  background: #0d1a24;
  opacity: .6;
}
.mfp-wrap .wpdp-white-popup {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  width: calc(100vw - 32px);
  max-width: 620px;
  height: auto;
  max-height: calc(100vh - 48px);
  max-height: calc(100dvh - 48px);
  margin: 24px auto;
  padding: 26px 26px 0;
  overflow-y: auto;
  background: #fff !important;
  opacity: 1 !important;
  border-radius: 16px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .3);
  font-family: Khula, sans-serif;
}
.mfp-wrap .wpdp-white-popup h3 {
  margin: 0 0 12px !important;
  font-size: 24px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  color: #1d2731;
}
.mfp-wrap .wpdp-white-popup p {
  margin: 0 0 12px;
  font-size: 14px !important;
  line-height: 1.6;
  color: #3b4652;
}
#wp-disclaimer-popup p.wpdp-footer {
  position: sticky;
  bottom: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 18px;
  margin: auto -26px 0;
  padding: 14px 26px 18px;
  background: #fff;
  border-top: 1px solid #e3e8ee;
  text-align: left;
}
#wp-disclaimer-popup span#wpdp-close {
  flex: 1 1 220px;
  margin: 0;
  border: 0;
  padding: 13px 22px;
  border-radius: 999px;
  background: #00bff7;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .04em;
  text-align: center;
}
#wp-disclaimer-popup span#wpdp-close:hover {
  background: #0098c7;
  color: #fff;
}
#wp-disclaimer-popup #wpdp-decline {
  flex: 0 0 auto;
  margin: 0;
  border: 0;
  padding: 8px 4px;
  background: none;
  color: #5b6672;
  font-size: 13px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}
#wp-disclaimer-popup #wpdp-decline:hover {
  background: none;
  color: #1d2731;
}
@media (max-width: 768px) {
  .mfp-wrap .wpdp-white-popup {
    max-width: none;
    height: auto;
    /* the bottom strip stays free for the accessibility button */
    max-height: calc(100vh - 100px);
    max-height: calc(100dvh - 100px);
    margin: 16px auto 84px;
    padding: 20px 18px 0;
  }
  .mfp-wrap .wpdp-white-popup h3 {
    font-size: 20px !important;
  }
  .mfp-wrap .wpdp-white-popup p {
    font-size: 13.5px !important;
  }
  #wp-disclaimer-popup p.wpdp-footer {
    flex-direction: column;
    gap: 6px;
    margin: auto -18px 0;
    padding: 12px 18px 12px;
  }
  #wp-disclaimer-popup span#wpdp-close {
    flex: 0 0 auto;
    align-self: stretch;
  }
}

/* 2. Cookie notice: waits until the disclaimer is answered, then a small card instead of a dark bar */
body:has(.mfp-wrap) #cookiebanner {
  visibility: hidden !important;
}
#cookiebanner {
  box-sizing: border-box;
  display: flex !important;
  align-items: center;
  gap: 14px;
  left: auto !important;
  right: 20px !important;
  bottom: 20px !important;
  width: min(460px, calc(100vw - 40px)) !important;
  max-height: 60vh;
  padding: 16px 18px !important;
  overflow-y: auto;
  background: #fff !important;
  color: #2a3540 !important;
  border-radius: 14px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, .22);
  font-family: Khula, sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.5;
}
#cookiebanner #c-left,
#cookiebanner #c-right {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
#cookiebanner #c-left {
  flex: 1 1 auto;
}
#cookiebanner p {
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font-size: inherit !important;
}
#cookiebanner p:empty,
#cookiebanner p:has(> br:only-child) {
  display: none !important;
}
#cookiebanner .c-header {
  margin-bottom: 2px !important;
  font-size: 14px !important;
  font-weight: 700;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
#cookiebanner .c-header::first-letter {
  text-transform: uppercase;
}
#cookiebanner a {
  color: #0087b3 !important;
}
#cookiebanner #c-right {
  flex: 0 0 auto;
}
#cookiebanner .c-button {
  display: inline-block !important;
  min-width: 0 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 10px 22px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #00bff7 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}
#cookiebanner > div[style*="clear"] {
  display: none !important;
}
@media (max-width: 768px) {
  /* sits above the bottom strip: the accessibility button and the appointment bar stay free */
  #cookiebanner {
    left: 12px !important;
    right: 12px !important;
    bottom: 70px !important;
    width: auto !important;
    padding: 12px 14px !important;
    gap: 10px;
    font-size: 12.5px !important;
  }
  #cookiebanner .c-header {
    font-size: 13px !important;
  }
  #cookiebanner .c-button {
    padding: 9px 16px !important;
  }
}

/* 3. H1s that became H2 (batch 3, one H1 per page) keep the H1 look: the Elementor kit gives h1
      Khula 20px weight 400 (and the same color as h2). :where() keeps this at the weight of one
      class, so every widget-level rule still wins exactly as it did for the h1. */
.elementor-kit-6 :where(h2.ndc-h1) {
  font-family: "Khula", Sans-serif;
  font-size: 20px;
  font-weight: 400;
}

/* 4. The "+" legal boxes (WP Post Disclaimer): an inline theme script folds their text away once every
      script has run. Pages now paint earlier, so the full box showed first and then collapsed, pulling
      everything below it up (a large layout shift). Same folded state from the first paint; the script
      still opens and closes it on click. */
.wppd-disclaimer-title + .disclaimer-content,
.wppd-disclaimer-title + p {
  display: none;
}
