/**
 * BMCPC Print Framework — one source-DOM header and footer.
 *
 * The document must contain one header template and one footer template. These
 * rules never clone either region, never fix them to a page edge, and leave the
 * footer in ordinary document flow. Prefer the data/class hooks when adding or
 * migrating templates; live template IDs are narrow compatibility fallbacks.
 */

@media print {
  body.bmcpc-print-active :is(
    .bmcpc-print-header,
    [data-bmcpc-print-header],
    header[data-elementor-id="10645"],
    header[data-elementor-type="header"]
  ) {
    display: block !important; /* Override theme breakpoint visibility. */
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 0 var(--bmcpc-print-header-gap) !important;
    padding: var(--bmcpc-print-header-footer-edge-inset, 2.5mm) !important;
    overflow: visible !important;
    transform: none !important;
    contain: none !important;
    border: 0 !important;
    border-bottom: 1px solid var(--bmcpc-print-brand) !important;
    background: transparent !important;
    box-shadow: none !important;
    break-after: avoid-page !important;
    page-break-after: avoid !important;
  }

  /* A migrated template root is authoritative if an editor accidentally adds it twice. */
  body.bmcpc-print-active .bmcpc-print-header ~ .bmcpc-print-header,
  body.bmcpc-print-active [data-bmcpc-print-header] ~ [data-bmcpc-print-header],
  body.bmcpc-print-active header[data-elementor-id="10645"] ~ header[data-elementor-id="10645"],
  body.bmcpc-print-active header[data-elementor-type="header"] ~ header[data-elementor-type="header"] {
    display: none !important;
  }

  body.bmcpc-print-active :is(
    .bmcpc-print-header,
    [data-bmcpc-print-header],
    header[data-elementor-id="10645"],
    header[data-elementor-type="header"]
  ) :is(
    [data-bmcpc-print-chrome],
    [data-bmcpc-print-policy="hide"],
    nav,
    search,
    .elementor-menu-toggle,
    .elementor-widget-nav-menu,
    .elementor-widget-search,
    .elementor-widget-icon,
    .elementor-widget-button,
    .bmcpc-header-print-button
  ) {
    display: none !important;
  }

  /*
   * Template 10645 compatibility: retain the source logo widget only. The
   * explicit control IDs protect against a future wrapper change in the live
   * template without widening the selector to every Elementor header.
   */
  body.bmcpc-print-active header[data-elementor-id="10645"] > .e-con > :not([data-id="20ab9f69"]),
  body.bmcpc-print-active header[data-elementor-id="10645"] :is(
    [data-id="caea0bd"],
    [data-id="cc1b062"],
    [data-id="f96c293"],
    [data-id="03a2a3b"],
    [data-id="ddcad76"],
    [data-id="51a60d4f"],
    .bmcpc-header-print-button
  ) {
    display: none !important;
  }

  /* Elementor may render an older Header template on an isolated page. The
     template ID is not an ownership contract: preserve the semantic site-logo
     branch and omit every sibling screen-control container. */
  body.bmcpc-print-active header[data-elementor-type="header"] > .e-con > :not(
    .elementor-widget-theme-site-logo,
    :has(.elementor-widget-theme-site-logo)
  ) {
    display: none !important;
  }

  body.bmcpc-print-active header[data-elementor-id="10645"] > .e-con,
  body.bmcpc-print-active header[data-elementor-type="header"] > .e-con {
    display: block !important;
    position: static !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 0 2mm !important;
    overflow: visible !important;
    transform: none !important;
    contain: none !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.bmcpc-print-active header[data-elementor-id="10645"] > .e-con::before,
  body.bmcpc-print-active header[data-elementor-id="10645"] > .e-con::after,
  body.bmcpc-print-active header[data-elementor-type="header"] > .e-con::before,
  body.bmcpc-print-active header[data-elementor-type="header"] > .e-con::after {
    display: none !important;
    content: none !important;
  }

  body.bmcpc-print-active :is(
    .bmcpc-print-header,
    [data-bmcpc-print-header],
    header[data-elementor-id="10645"],
    header[data-elementor-type="header"]
  ) :is(
    [data-bmcpc-print-logo],
    .site-logo img,
    .elementor-widget-theme-site-logo img,
    [data-id="20ab9f69"] img
  ) {
    display: block !important;
    width: auto !important;
    max-width: 100%;
    max-height: var(--bmcpc-print-header-logo-max-height, 18mm);
    height: auto !important;
  }

  body.bmcpc-print-active header[data-elementor-id="10645"] [data-id="20ab9f69"] {
    display: block !important;
    width: 42mm !important;
    max-width: 42mm !important;
    margin: 0 !important;
  }

  body.bmcpc-print-active header[data-elementor-type="header"] .elementor-widget-theme-site-logo {
    display: block !important;
    width: 42mm !important;
    max-width: 42mm !important;
    margin: 0 !important;
  }

  body.bmcpc-print-active :is(
    .bmcpc-print-footer,
    [data-bmcpc-print-footer],
    footer[data-elementor-id="174"],
    footer[data-elementor-type="footer"]
  ) {
    display: block !important; /* Override theme breakpoint visibility. */
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: var(--bmcpc-print-footer-gap) 0 0 !important;
    padding: var(--bmcpc-print-header-footer-edge-inset, 2.5mm) !important;
    overflow: visible !important;
    transform: none !important;
    contain: none !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    break-before: auto !important;
    page-break-before: auto !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  /* A migrated template root is authoritative if an editor accidentally adds it twice. */
  body.bmcpc-print-active .bmcpc-print-footer ~ .bmcpc-print-footer,
  body.bmcpc-print-active [data-bmcpc-print-footer] ~ [data-bmcpc-print-footer],
  body.bmcpc-print-active footer[data-elementor-id="174"] ~ footer[data-elementor-id="174"],
  body.bmcpc-print-active footer[data-elementor-type="footer"] ~ footer[data-elementor-type="footer"] {
    display: none !important;
  }

  body.bmcpc-print-active :is(
    .bmcpc-print-footer,
    [data-bmcpc-print-footer],
    footer[data-elementor-id="174"],
    footer[data-elementor-type="footer"]
  ) :is(
    [data-bmcpc-print-chrome],
    [data-bmcpc-print-policy="hide"],
    #back-to-top,
    .back-to-top,
    .scroll-to-top,
    .subscribe-form,
    .elementor-widget-form,
    .elementor-widget-social-icons,
    .elementor-widget-nav-menu,
    nav
  ) {
    display: none !important;
  }

  body.bmcpc-print-active footer[data-elementor-type="footer"] > .e-con {
    position: static !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
    contain: none !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  /* Template 174 compatibility: screen footer regions are never print parts. */
  body.bmcpc-print-active footer[data-elementor-id="174"] :is(
    #back-to-top,
    [data-id="fe46661"],
    [data-id="9aa4791"],
    [data-id="ab487e5"],
    [data-id="19bbd0c"],
    [data-id="ddf5554"]
  ) {
    display: none !important;
  }

  /* Keep only the source logo/copyright/badge branch of template 174. */
  body.bmcpc-print-active footer[data-elementor-id="174"] > .e-con:not(:has(
    [data-id="c2f6016"],
    [data-id="7239023"],
    [data-id="27649d6"],
    [data-id="f454c93"]
  )),
  body.bmcpc-print-active footer[data-elementor-id="174"] > .e-con > .e-con-inner > .e-con:not(:has(
    [data-id="c2f6016"],
    [data-id="7239023"],
    [data-id="27649d6"],
    [data-id="f454c93"]
  )) {
    display: none !important;
  }

  body.bmcpc-print-active footer[data-elementor-id="174"] > .e-con,
  body.bmcpc-print-active footer[data-elementor-id="174"] > .e-con > .e-con-inner {
    position: static !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
    contain: none !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.bmcpc-print-active footer[data-elementor-id="174"] > .e-con > .e-con-inner > .e-con:has(
    > [data-id="c2f6016"]
  ) {
    display: grid !important;
    grid-template-columns: 42mm minmax(0, 1fr) auto !important;
    gap: 4mm !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 3mm 0 0 !important;
    overflow: visible !important;
    background: transparent !important;
  }

  body.bmcpc-print-active footer[data-elementor-id="174"] [data-id="7239023"] :is(p, div),
  body.bmcpc-print-active footer[data-elementor-id="174"] [data-id="7239023"] {
    margin: 0 !important;
    color: var(--bmcpc-print-muted) !important;
    font-size: 7pt !important;
    line-height: 1.3 !important;
  }

  body.bmcpc-print-active footer[data-elementor-id="174"] .e-con:has(
    > [data-id="27649d6"],
    > [data-id="f454c93"]
  ) {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 3mm !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.bmcpc-print-active :is(
    .bmcpc-print-footer,
    [data-bmcpc-print-footer],
    footer[data-elementor-id="174"],
    footer[data-elementor-type="footer"]
  ) :is(
    [data-bmcpc-print-logo],
    .site-logo img,
    .elementor-widget-theme-site-logo img,
    [data-id="c2f6016"] img
  ) {
    display: block !important;
    width: auto !important;
    max-width: 100%;
    max-height: var(--bmcpc-print-footer-logo-max-height, 14mm);
    height: auto !important;
  }

  body.bmcpc-print-active footer[data-elementor-id="174"] [data-id="c2f6016"] {
    width: 42mm !important;
    max-width: 42mm !important;
    margin: 0 !important;
  }

  body.bmcpc-print-active footer[data-elementor-id="174"] :is(
    [data-id="27649d6"],
    [data-id="f454c93"]
  ) {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
  }

  body.bmcpc-print-active footer[data-elementor-id="174"] :is(
    [data-id="27649d6"],
    [data-id="f454c93"]
  ) img {
    display: block !important;
    width: auto !important;
    max-width: 22mm !important;
    max-height: 9mm !important;
    height: auto !important;
  }
}
