/**
 * Shared print treatment for allocation landing pages whose active tab may
 * contain dense Elementor grids, YouTube widgets, or media carousels.
 */

@media print {
  body.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation .bmcpc-print-active-tab {
    position: static !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding-bottom: 0 !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    contain: none !important;
  }

  body.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation .bmcpc-print-active-tab.e-flex {
    /* The selected tab is the paged-flow boundary. A flex boundary can emit
       a trailing empty fragment in Chromium after a multi-page child even
       when Footer already fits on the previous sheet. Nested components keep
       their own grid/flex contracts. */
    display: block !important;
  }

  /* Elementor keeps the two outer wrappers around the selected tab as flex
     containers. Once an all-open accordion spans several sheets, Chromium can
     emit an empty trailing flex fragment after the Footer. Normalize only the
     direct selected-tab wrapper chain; nested component layouts are untouched. */
  body.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation .e-con-inner:has(
    > .bmcpc-print-active-tab
  ),
  body.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation .e-con.e-parent:has(
    > .e-con-inner > .bmcpc-print-active-tab
  ) {
    display: block !important;
    padding-bottom: 0 !important;
  }

  body.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation .bmcpc-print-active-tab.e-grid {
    display: grid !important;
  }

  body.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation .bmcpc-print-active-tab :is(
    .e-con,
    .e-con-inner,
    .elementor-element,
    .elementor-widget,
    .elementor-widget-container
  ) {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    contain: none !important;
  }

  body.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation .bmcpc-print-active-tab :is(
    .e-con,
    .e-con-inner
  ) {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    background-color: transparent !important;
  }

  body.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation .bmcpc-print-media-image-grid-owned {
    grid-template-rows: none !important;
    grid-auto-rows: auto !important;
  }

  body.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab4 .bmcpc-print-active-tab .bmcpc-print-media-image-grid-owned {
    grid-template-columns: var(--bmcpc-print-image-grid-template, repeat(var(--bmcpc-print-image-grid-columns, 3), minmax(0, 1fr))) !important;
    grid-auto-flow: row !important;
    gap: 3mm !important;
  }

  body.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab4 .bmcpc-print-active-tab .bmcpc-print-media-image-grid-owned > * {
    grid-area: auto !important;
    align-self: start !important;
  }

  /* Page 2565 Tab 4 is authored with nested accordion widths that can exceed
   * the printable page after Elementor's screen geometry is expanded. Keep
   * every affected shell inside the true page width; centering an oversized
   * transformed shell lets native print preview clip text at either edge. */
  body.page-id-2565.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab4
    #tab4.bmcpc-print-active-tab :is(
      .elementor-widget-n-accordion:has(.bmcpc-print-media-image-grid-owned),
      .e-n-accordion:has(> details.e-n-accordion-item .bmcpc-print-media-image-grid-owned),
      details.e-n-accordion-item:has(.bmcpc-print-media-image-grid-owned)
    ) {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    align-self: stretch !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    overflow: visible !important;
  }

  body.page-id-2565.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab4
    #tab4.bmcpc-print-active-tab details.e-n-accordion-item:has(
      .bmcpc-print-media-image-grid-owned
    ) > :is(summary, [role="region"]) {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  /* The first three-image grid fits on one sheet. Keep it as one fragment so
   * widening its owner cannot leave a one-pixel image edge on the preceding
   * sheet before the complete row begins. */
  body.page-id-2565.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab4
    #tab4.bmcpc-print-active-tab .elementor-element-61f711a0 {
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
  }

  /* Niche allocation Tab 4 contains four native Elementor image grids. Keep
   * every source image at its intrinsic aspect ratio and center it inside its
   * existing three-column track instead of inheriting the shared fixed-height
   * gallery card geometry. */
  body.page-id-2565.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab4
    #tab4 .bmcpc-print-media-image-grid-owned {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    justify-items: center !important;
    overflow: visible !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  body.page-id-2565.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab4
    #tab4 .bmcpc-print-media-image-grid-owned > .elementor-widget-image {
    width: 100% !important;
    max-width: 100% !important;
    justify-self: center !important;
    align-items: center !important;
    text-align: center !important;
    overflow: visible !important;
  }

  body.page-id-2565.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab4
    #tab4 .bmcpc-print-media-image-grid-owned > .elementor-widget-image :is(
      .elementor-widget-container,
      .elementor-image
    ) {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    overflow: visible !important;
  }

  body.page-id-2565.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab4
    #tab4 .bmcpc-print-media-image-grid-owned > .elementor-widget-image img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 52mm !important;
    margin-left: auto !important;
    margin-right: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    overflow: visible !important;
  }

  body.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation .bmcpc-print-active-tab .elementor-hidden-mobile.bmcpc-print-table-grid {
    display: grid !important;
  }

  body.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation .bmcpc-print-table-grid {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: var(--bmcpc-print-grid-template, repeat(var(--bmcpc-print-columns, 2), minmax(0, 1fr))) !important;
    grid-auto-flow: row !important;
    grid-auto-rows: auto !important;
    overflow: visible !important;
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
  }

  body.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation .bmcpc-print-table-grid > * {
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  body.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation .bmcpc-print-table-grid > * :is(
    .elementor-widget-container,
    p
  ) {
    width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  body.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation .bmcpc-print-media-grid {
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  body.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation .bmcpc-print-gallery-image {
    object-fit: contain !important;
    background: #fff !important;
  }

  body.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation .elementor-hidden-desktop.elementor-hidden-tablet {
    display: none !important;
  }

  /* Page 1526 / Urn Lot tab2 uses the same complete accordion flow as FGFA
   * tab2. Keep the rule page-scoped so other tabbed allocation pages retain
   * their existing print typography and pagination. */
  body.page-id-1526.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab2
    #tab2 .e-n-accordion,
  body.page-id-1526.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab2
    #tab2 [data-bmcpc-print-accordion] {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 2.5mm 0 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  body.page-id-1526.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab2
    #tab2 details.e-n-accordion-item,
  body.page-id-1526.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab2
    #tab2 details[data-bmcpc-print-accordion-item] {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 0 2.4mm !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 1px solid var(--bmcpc-print-border, #d9e2df) !important;
    background: #fff !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
    -webkit-box-decoration-break: clone !important;
    box-decoration-break: clone !important;
  }

  body.page-id-1526.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab2
    #tab2 details > summary {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 1.8mm 3mm !important;
    color: #111 !important;
    background: #e9f2ef !important;
    font-size: 9.2pt !important;
    line-height: 1.28 !important;
    font-weight: 700 !important;
    break-after: avoid-page !important;
    page-break-after: avoid !important;
  }

  body.page-id-1526.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab2
    #tab2 details > summary::marker,
  body.page-id-1526.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab2
    #tab2 details > summary::-webkit-details-marker,
  body.page-id-1526.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab2
    #tab2 .e-n-accordion-item-title-icon {
    display: none !important;
  }

  body.page-id-1526.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab2
    #tab2 details[open] > :not(summary),
  body.page-id-1526.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab2
    #tab2 details[data-bmcpc-print-user-open="1"] > :not(summary),
  body.page-id-1526.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab2.bmcpc-print-accordion-all
    #tab2 details.e-n-accordion-item > :not(summary) {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 1.8mm 3mm !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    transform: none !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  body.page-id-1526.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab2
    #tab2 details.e-n-accordion-item > :not(summary) :is(
      .e-con,
      .e-con-inner,
      .elementor-element,
      .elementor-widget,
      .elementor-widget-container
    ) {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    position: static !important;
    transform: none !important;
    contain: none !important;
  }

  body.page-id-1526.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab2
    #tab2 details.e-n-accordion-item :is(p, li) {
    color: #111 !important;
    font-size: 8.2pt !important;
    line-height: 1.34 !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
    orphans: 2 !important;
    widows: 2 !important;
  }

  body.page-id-1526.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab2
    #tab2 details.e-n-accordion-item p {
    margin: 0 0 0.8mm !important;
  }

  body.page-id-1526.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab2
    #tab2 details.e-n-accordion-item :is(ol, ul) {
    margin: 0.8mm 0 1mm 5mm !important;
    padding: 0 !important;
  }

  body.page-id-1526.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab2
    #tab2 details.e-n-accordion-item li {
    margin: 0 0 0.35mm !important;
  }

  body.page-id-1526.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab2
    #tab2 details.e-n-accordion-item p > br:first-child {
    display: none !important;
  }

  /* Keep niche allocation's published draw-result notice red in print. The
     source page owns this color inline; restore it only for this exact tab
     and Elementor widget so the shared print palette remains unchanged. */
  body.page-id-2565.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab2
    #tab2 .elementor-element-5359ef9e h3 > span[style*="#ff0000"],
  body.page-id-2565.bmcpc-print-active.bmcpc-print-profile-tabbed-allocation.bmcpc-print-tab-tab2
    #tab2 .elementor-element-5359ef9e h3 > span[style*="#ff0000"] :is(a, span, u) {
    color: #ff0000 !important;
    -webkit-text-fill-color: #ff0000 !important;
    print-color-adjust: exact !important;
    -webkit-print-color-adjust: exact !important;
  }
}
