/* CCNM Drupal 10 / Bootstrap 4 compatibility: header and menus. */
@media (min-width: 992px) {
  .top-bar .nav-menu { display: flex; align-items: center; }
  .top-bar .nav-menu > .columns:last-child { display: flex; justify-content: flex-end; }
  .ccnm-navbar { width: 100%; padding: 0; }
  .ccnm-navbar .ccnm-main-menu { display: flex; flex-direction: row; align-items: center; justify-content: flex-end; flex-wrap: nowrap; padding: 0; margin: 0; list-style: none; }
  .ccnm-navbar .ccnm-main-menu > li { display: flex; align-items: center; position: relative; white-space: nowrap; }
  .ccnm-navbar .ccnm-main-menu > li > a { display: block; padding: 12px 9px 20px; line-height: 1.5; }
  .ccnm-navbar .ccnm-main-menu > li > .ccnm-submenu-toggle { margin-left: -8px; margin-right: 5px; }
  .ccnm-navbar .ccnm-has-children:hover > .dropdown-menu,
  .ccnm-navbar .ccnm-has-children:focus-within > .dropdown-menu,
  .ccnm-navbar .ccnm-has-children.ccnm-expanded > .dropdown-menu { display: block; }
  .ccnm-navbar .dropdown-menu { position: absolute; top: 100%; left: 0; margin: 0; min-width: 195px; padding: 8px 0; z-index: 1050; }
  .ccnm-navbar .dropdown-menu li { position: relative; display: block; white-space: normal; }
  .ccnm-navbar .dropdown-menu li > a { display: block; padding: 9px 16px; margin: 0; line-height: 1.5; }
  .ccnm-navbar .dropdown-menu .dropdown-menu { top: 0; left: 100%; }
  .ccnm-navbar .ccnm-main-menu > li:last-child > .dropdown-menu { right: 0; left: auto; }
  .ccnm-navbar .ccnm-main-menu > li:last-child > .dropdown-menu .dropdown-menu { right: 100%; left: auto; }
}
.ccnm-navbar .ccnm-submenu-toggle { border: 0; background: transparent; color: inherit; cursor: pointer; padding: 4px 7px; }
.ccnm-navbar .dropdown-menu { background-color: #007771; }
.ccnm-navbar .dropdown-menu a { color: #fff; text-decoration: none; }
.ccnm-navbar .dropdown-menu a:hover, .ccnm-navbar .dropdown-menu a:focus { color: #00c1d5; text-decoration: underline; }
.ccnm-navbar .dropdown-menu .ccnm-submenu-toggle { color: #fff; }
.top-bar .site-branding .logo { max-width: 220px; width: 100%; height: auto; }
/* Search block may have different Drupal-generated markup than Drupal 9. */
.top-bar .form-type-search input[type="search"],
.top-bar .form-type-search input[type="text"],
.top-bar input.form-search { width: 152px; max-width: 100%; border-radius: 30px; font-size: 12px; }
@media (max-width: 991.98px) {
  .ccnm-navbar .ccnm-main-menu { display: block; padding: 8px 0; margin: 0; list-style: none; }
  .ccnm-navbar .ccnm-main-menu > li { display: block; position: relative; }
  .ccnm-navbar .ccnm-main-menu a { display: inline-block; padding: 9px 12px; line-height: 1.5; }
  .ccnm-navbar .dropdown-menu { display: none; position: static; float: none; width: 100%; padding: 0 0 0 16px; margin: 0; box-shadow: none; }
  .ccnm-navbar .ccnm-has-children.ccnm-expanded > .dropdown-menu { display: block !important; }
  .ccnm-navbar .dropdown-menu li > a { display: inline-block; padding: 8px 12px; margin: 0; }
  .ccnm-navbar .ccnm-submenu-toggle { color: #2dac95; }
}

/* Restore Bootstrap 3-style floating columns in legacy CCNM paragraph content.
   Scoped to paragraph blocks so modern Bootstrap layouts remain unaffected. */
@media (min-width: 992px) {
  .paragraph--type--paragraph-block > .container > .col-md-4 {
    float: left;
    width: 33.333333%;
  }

  .paragraph--type--paragraph-block > .container::after {
    content: "";
    display: table;
    clear: both;
  }
}

/* Drupal 10: restore full-width homepage feature section */
.ccnm-block-student > .row > .feature-box {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
}

/* Drupal 10: restore footer width and alignment */
.footer-container > .row > * {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
}

.footer-container > .row {
  margin-left: 0;
  margin-right: 0;
}

/* Give footer columns enough room to keep addresses aligned */
@media (min-width: 992px) {
  .footer-container .container {
    max-width: 1160px;
    width: 100%;
  }
}

/* Restore legacy Bootstrap 3 two-column layouts in Drupal paragraphs */
@media (min-width: 992px) {
  .paragraph--type--paragraph-block > .container > .col-md-6 {
    float: left !important;
    width: 50% !important;
    max-width: 50% !important;
    flex: none !important;
  }

  .paragraph--type--paragraph-block > .container::after {
    content: "";
    display: table;
    clear: both;
  }
}

/* Center legacy eight-column content in image-background paragraphs */
@media (min-width: 992px) {
  .paragraph--type--paragraph-image-bg-block
  > .container > .col-md-8 {
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Restore centered eight-column content in legacy paragraph blocks */
@media (min-width: 992px) {
  .paragraph--type--paragraph-block
  > .container > .col-md-8 {
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Center text in legacy feature boxes */
  .paragraph--type--paragraph-block
  .feature-box > .col-md-8 {
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Restore full-width feature-box backgrounds */
  .paragraph--type--paragraph-block
  > .row > .feature-box {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .paragraph--type--paragraph-block
  > .row > .feature-box > .background-image-holder {
    width: 100% !important;
    height: 100% !important;
    left: 0 !important;
    right: 0 !important;
  }
}

/* Restore Drupal Views practitioner columns affected by Bootstrap 5 .col-1 */
@media (min-width: 992px) {
  .ccnm-practitioners .views-col {
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .ccnm-practitioners .views-field,
  .ccnm-practitioners .field-content {
    width: 100% !important;
    max-width: 100% !important;
  }

  .ccnm-practitioners img {
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
  }
}

/* Restore practitioner profile layouts from the legacy Bootstrap theme */
@media (min-width: 992px) {

  /* Practitioner photograph and details */
  .region-content .ccnm-BB.text {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
  }

  .region-content .ccnm-BB.text > .col-md-4 {
    flex: 0 0 33.333333% !important;
    width: 33.333333% !important;
    max-width: 33.333333% !important;
  }

  .region-content .ccnm-BB.text > .col-md-6 {
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
  }

  .region-content .ccnm-BB.text > .col-md-offset-1 {
    margin-left: 8.333333% !important;
  }

  /* Restore two-column practitioner biographies */
  .region-content .container-fluid:has(> .col-md-6.ccnm-p1-L) {
    display: flex !important;
    flex-wrap: wrap !important;
  }

  .region-content .container-fluid:has(> .col-md-6.ccnm-p1-L) > .col-md-6 {
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
  }
}

/* Drupal 10: practitioner biography layout */
@media (min-width: 992px) {
  .region-content .ccnm-profile-biography {
    display: flex !important;
    flex-wrap: wrap !important;
  }

  .region-content .ccnm-profile-biography > .col-md-6 {
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    float: none !important;
  }
}

/* Integrative Cancer Clinic Rates: alignment and table formatting */
@media (min-width: 992px) {

  body.path-node .region-content .col-md-12 > .col-md-10 {
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .region-content table.fee.table {
    width: 100% !important;
    border-collapse: collapse !important;
    background: transparent !important;
  }

  .region-content table.fee.table thead,
  .region-content table.fee.table tbody,
  .region-content table.fee.table tr,
  .region-content table.fee.table th,
  .region-content table.fee.table td {
    background: transparent !important;
    box-shadow: none !important;
  }

  .region-content table.fee.table th,
  .region-content table.fee.table td {
    border-top: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
    padding: 7px 8px !important;
    vertical-align: top !important;
  }
}
