/* CCNM Clinics Drupal 10 header refinement — applied after bootstrap4-compat.css. */
/* Keep the search title available to assistive technology, but not as a large heading. */
#block-ccnm-d10-search > h2 {
  position: absolute !important; width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important; overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important;
  border: 0 !important;
}
.top-bar #block-ccnm-d10-search { float: right; padding-left: 15px; }
.top-bar #block-ccnm-d10-search .form-item,
.top-bar #block-ccnm-d10-search .form-group,
.top-bar #block-ccnm-d10-search .form-actions { margin: 0; }
.top-bar #block-ccnm-d10-search form { position: relative; margin: 0; }
.top-bar #block-ccnm-d10-search input.form-search {
  display: block; width: 152px; max-width: 100%; height: 30px;
  min-height: 30px; padding: 4px 32px 4px 12px; margin: 0;
  border: 1px solid #00664f; border-radius: 30px;
  background: transparent; color: #00664f;
  font-size: 12px; line-height: 20px; box-shadow: none;
}
.top-bar #block-ccnm-d10-search input.form-search::placeholder { color: #00664f; opacity: 1; }
/* CSS magnifying glass: no dependency on removed Bootstrap 3 Glyphicons. */
.top-bar #block-ccnm-d10-search form::before {
  content: ''; position: absolute; right: 14px; top: 8px;
  width: 10px; height: 10px; border: 2px solid #00664f;
  border-radius: 50%; pointer-events: none; z-index: 1;
}
.top-bar #block-ccnm-d10-search form::after {
  content: ''; position: absolute; right: 11px; top: 18px;
  width: 7px; height: 2px; background: #00664f;
  transform: rotate(48deg); pointer-events: none; z-index: 1;
}
/* The search and utility text share a compact header row. */
.top-bar .utility-menu .utility-inner { display: flex; align-items: center; justify-content: space-between; }
.top-bar .utility-menu .utility-inner > .pull-right { margin-left: auto; }
.top-bar .utility-menu .text-user-overlay-bar { color: #00664f; }
.top-bar .utility-menu .utility-inner { border-bottom-color: #00664f; }
/* Remove duplicate Bootstrap/Pivot/legacy Glyphicon dropdown markers. */
.ccnm-navbar .dropdown-submenu > a::after,
.ccnm-navbar .dropdown-submenu:hover > a::after,
.ccnm-navbar .dropdown-submenu > .ccnm-parent-link::after,
.ccnm-navbar .ccnm-has-children > .ccnm-parent-link::after {
  content: none !important; display: none !important;
}
.ccnm-navbar .ccnm-submenu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 19px; height: 24px; min-width: 19px; padding: 0; margin: 0 4px 0 0; vertical-align: middle; }
.ccnm-navbar .ccnm-submenu-toggle span { display: none; }
.ccnm-navbar .ccnm-submenu-toggle::after {
  content: ''; display: block; width: 0; height: 0;
  border-left: 4px solid transparent; border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
}
.ccnm-navbar .dropdown-menu .ccnm-has-children { position: relative; padding-right: 25px; }
.ccnm-navbar .dropdown-menu .ccnm-submenu-toggle {
  position: absolute; top: 50%; right: 7px; margin: 0;
  transform: translateY(-50%); color: #fff;
}
.ccnm-navbar .dropdown-menu .ccnm-submenu-toggle::after {
  border-top: 4px solid transparent; border-bottom: 4px solid transparent;
  border-left: 5px solid currentColor; border-right: 0;
}
@media (min-width: 992px) {
  /* Rebalance the fixed 25/75 Bootstrap grid; keep navigation flexible. */
  .top-bar .nav-menu > .columns:first-child { flex: 0 0 21%; max-width: 21%; }
  .top-bar .nav-menu > .columns:last-child { flex: 0 0 79%; max-width: 79%; min-width: 0; }
  .top-bar .nav-menu .ccnm-main-menu { justify-content: flex-end; }
  .ccnm-navbar .ccnm-main-menu > li > a { padding-left: 7px; padding-right: 6px; }
  .ccnm-navbar .ccnm-main-menu > li > .ccnm-submenu-toggle { margin-left: 0; margin-right: 5px; }
  .ccnm-navbar .dropdown-menu .ccnm-has-children > .dropdown-menu { top: 0; }
}
@media (max-width: 991.98px) {
  .ccnm-navbar .dropdown-menu .ccnm-submenu-toggle { top: 16px; transform: none; }
  .ccnm-navbar .dropdown-menu .ccnm-submenu-toggle::after {
    border-left: 4px solid transparent; border-right: 4px solid transparent;
    border-top: 5px solid currentColor; border-bottom: 0;
  }
}

/* Drupal 10 visual QA batch: heading, search and sticky header. */

/* Restore legacy left alignment over Bootstrap's text-center utility. */
.ccnm-h2-L.text-center {
  text-align: left !important;
}

/* Restore the compact, readable header search appearance. */
.top-bar #block-ccnm-d10-search input.form-search {
  background-color: #fff;
  color: #00664f;
  border-color: #005240;
  height: 30px;
  min-height: 30px;
}

.top-bar #block-ccnm-d10-search input.form-search::placeholder {
  color: #00664f !important;
  opacity: 1;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 1px;
}

/* Keep the sticky header compact rather than inheriting large Pivot spacing. */
@media (min-width: 992px) {
  .top-bar.nav-sticky .nav-menu {
    padding-top: 12px;
    padding-bottom: 8px;
  }

  .top-bar.nav-sticky .ccnm-navbar .ccnm-main-menu > li > a {
    padding-top: 8px;
    padding-bottom: 12px;
  }
}

/* Drupal 10: align main navigation with the clinic branding */
@media (min-width: 992px) {
  .top-bar .nav-menu > .columns:last-child {
    justify-content: flex-start !important;
  }

  .top-bar .nav-menu .ccnm-main-menu {
    justify-content: flex-start !important;
  }

  .top-bar .ccnm-navbar {
    margin-left: 125px;
  }
}

/* Extend header divider without moving the heading or search field */
@media (min-width: 992px) {
  .top-bar .utility-inner {
    position: relative;
    border-bottom-color: transparent !important;
  }

  .top-bar .utility-inner::after {
    content: "";
    position: absolute;
    left: -15px;
    right: -15px;
    bottom: -1px;
    height: 1px;
    background-color: #00664f;
    pointer-events: none;
  }
}

/* Drupal 10: restore legacy accordion layout and indicators */
@media (min-width: 992px) {
  .ccnm-accordion > li > .text {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
  }

  .ccnm-accordion > li > .text > .col-md-6 {
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    float: none !important;
  }

  .ccnm-accordion > li > .text img {
    max-width: 100% !important;
    height: auto !important;
  }

  .ccnm-accordion > li > .title {
    display: inline-block !important;
    position: relative !important;
    padding-right: 35px !important;
    cursor: pointer !important;
  }

  .ccnm-accordion > li > .title::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: auto !important;
    right: 8px !important;
    top: 50% !important;
    width: 10px !important;
    height: 10px !important;
    border-right: 2px solid #005240 !important;
    border-bottom: 2px solid #005240 !important;
    transform: translateY(-65%) rotate(-45deg) !important;
  }

  .ccnm-accordion > li.active > .title::after {
    transform: translateY(-35%) rotate(45deg) !important;
  }

  /* Restore centering for reusable legacy paragraph columns */
  .paragraph--type--paragraph-block > .container > .col-md-10,
  .paragraph--type--paragraph-image-bg-block > .container > .col-md-10,
  .paragraph--type--paragraph-image-bg-block .cnnm-welcome-02.col-md-10 {
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Integrative Cancer Clinic: restore spacing beneath section headings */
@media (min-width: 992px) {
  body.page-node-8425
  .paragraph--type--paragraph-block > .container
  > .ccnm-h1-3.cnnm-bkl-coneduc {
    padding-bottom: 22px !important;
  }
}
