/**
 * Fee schedule profile — source DOM only.
 *
 * The accordion adapter opens the five approved fee panels and restores their
 * source state. These rules only make that prepared source printable: retain
 * the desktop table, hide its responsive duplicate, and keep a heading with
 * the first piece of table content. Do not add a footer/page-break policy here.
 */

@media print {
  /* Fee-table panels already carry their own source heading immediately
     before the prepared table. Alpha.41's shared generated active-tab title
     would repeat that same text (for example "可安放骨灰數目及收費").
     Restore the approved pre-Alpha.41 contract for this profile only; Standard,
     FGFA and tabbed-allocation pages keep the generated title they require. */
  body.bmcpc-print-active.bmcpc-print-profile-fee-table
    .bmcpc-print-active-tab-title {
    display: none !important;
  }

  /* Transitional 538 DOM bridge. The controller owns open/restore for these
     five source <details>; this selector only limits print presentation to the
     confirmed fee panels until their semantic accordion hooks are authored. */
  body.page-id-538.bmcpc-print-active.bmcpc-print-profile-fee-table :is(
    details#e-n-accordion-item-1900,
    details#e-n-accordion-item-1901,
    details#e-n-accordion-item-1902,
    details#e-n-accordion-item-1903,
    details#e-n-accordion-item-1904,
    details[data-id="1900"],
    details[data-id="1901"],
    details[data-id="1902"],
    details[data-id="1903"],
    details[data-id="1904"]
  ) {
    display: block !important;
  }

  body.bmcpc-print-active.bmcpc-print-profile-fee-table :is(
    [data-bmcpc-print-accordion] details,
    .bmcpc-print-accordion details,
    .e-n-accordion details.e-n-accordion-item,
    .elementor-widget-n-accordion details
  ) {
    margin: 0 0 4mm;
    break-inside: auto;
    page-break-inside: auto;
  }

  /* A fee-panel summary is the section heading. Keep it attached to the
     prepared table/body that follows so "其他費用" cannot print heading-only. */
  body.bmcpc-print-active.bmcpc-print-profile-fee-table :is(
    [data-bmcpc-print-accordion] details > summary,
    .bmcpc-print-accordion details > summary,
    .e-n-accordion details.e-n-accordion-item > summary,
    .elementor-widget-n-accordion details > summary,
    [data-bmcpc-print-section-heading],
    [data-bmcpc-print-heading]
  ) {
    break-after: avoid-page;
    page-break-after: avoid;
  }

  body.bmcpc-print-active.bmcpc-print-profile-fee-table :is(
    [data-bmcpc-print-accordion] details > summary + :not(summary),
    .bmcpc-print-accordion details > summary + :not(summary),
    .e-n-accordion details.e-n-accordion-item > summary + :not(summary),
    .elementor-widget-n-accordion details > summary + :not(summary)
  ) {
    break-before: avoid-page;
    page-break-before: avoid;
  }

  body.bmcpc-print-active.bmcpc-print-profile-fee-table :is(
    [data-bmcpc-print-accordion] details > summary + [data-bmcpc-print-table],
    [data-bmcpc-print-accordion] details > summary + .bmcpc-print-table,
    [data-bmcpc-print-accordion] details > summary + .grid-table,
    .bmcpc-print-accordion details > summary + [data-bmcpc-print-table],
    .bmcpc-print-accordion details > summary + .bmcpc-print-table,
    .bmcpc-print-accordion details > summary + .grid-table,
    .e-n-accordion details.e-n-accordion-item > summary + [data-bmcpc-print-table],
    .e-n-accordion details.e-n-accordion-item > summary + .bmcpc-print-table,
    .e-n-accordion details.e-n-accordion-item > summary + .grid-table,
    .elementor-widget-n-accordion details > summary + [data-bmcpc-print-table],
    .elementor-widget-n-accordion details > summary + .bmcpc-print-table,
    .elementor-widget-n-accordion details > summary + .grid-table,
    [data-bmcpc-print-section-heading] + [data-bmcpc-print-table],
    [data-bmcpc-print-section-heading] + .bmcpc-print-table,
    [data-bmcpc-print-section-heading] + .grid-table,
    [data-bmcpc-print-heading] + [data-bmcpc-print-table],
    [data-bmcpc-print-heading] + .bmcpc-print-table,
    [data-bmcpc-print-heading] + .grid-table
  ) {
    break-before: avoid-page;
    page-break-before: avoid;
  }

  body.bmcpc-print-active.bmcpc-print-profile-fee-table :is(
    [data-bmcpc-print-table],
    .bmcpc-print-table,
    .grid-table
  ) {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 0 4mm;
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    break-inside: auto;
    page-break-inside: auto;
  }

  /* Author-provided duplicate marker is the contract. The 538 fallback below
     is deliberately limited to its three documented mobile duplicate roots. */
  body.bmcpc-print-active.bmcpc-print-profile-fee-table [data-bmcpc-print-duplicate="responsive"] {
    display: none !important;
  }

  /* Fee-table preparation marks the complete desktop carrier of every paired
     fee table. Elementor's responsive rule can otherwise hide an ancestor
     after Chromium switches to the narrow print-preview viewport. The
     attribute is created only during preparePrintVersion() and removed by
     afterprint. */
  body.bmcpc-print-active.bmcpc-print-profile-fee-table
    [data-bmcpc-print-desktop-authoritative="1"] {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
  }

  body.bmcpc-print-active.bmcpc-print-profile-fee-table
    [data-bmcpc-print-desktop-authoritative="1"].e-grid {
    display: grid !important;
  }

  body.page-id-538.bmcpc-print-active.bmcpc-print-profile-fee-table :is(
    [data-id="1c05e853"],
    .elementor-element-1c05e853,
    [data-id="559ff74c"],
    .elementor-element-559ff74c,
    [data-id="7b7e33ac"],
    .elementor-element-7b7e33ac,
    [data-id="73d531"],
    .elementor-element-73d531,
    [data-id="235e4ab0"],
    .elementor-element-235e4ab0
  ).elementor-hidden-desktop.elementor-hidden-tablet {
    display: none !important;
  }

  /* The desktop table is hidden on mobile screen layouts but is authoritative
     in print. An e-grid root keeps its grid display; wrapper roots stay block. */
  body.bmcpc-print-active.bmcpc-print-profile-fee-table :is(
    [data-bmcpc-print-table],
    .bmcpc-print-table
  ).elementor-hidden-mobile:not(.e-grid) {
    display: block !important;
  }

  body.bmcpc-print-active.bmcpc-print-profile-fee-table :is(
    [data-bmcpc-print-table],
    .bmcpc-print-table
  ).elementor-hidden-mobile.e-grid {
    display: grid !important;
  }

  /* A prepared wrapper may itself be an Elementor e-grid, but its tracks
     describe component placement rather than the repeated table cells. The
     adapter marks only root !== canonical-grid wrappers as semantic shells. */
  body.bmcpc-print-active.bmcpc-print-profile-fee-table
    [data-bmcpc-print-table-prepared="1"].bmcpc-print-table.grid-table.e-grid[data-bmcpc-print-table-shell="1"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: none !important;
    gap: 0 !important;
  }

  body.page-id-538.bmcpc-print-active.bmcpc-print-profile-fee-table :is(
    [data-id="2727cb04"],
    .elementor-element-2727cb04,
    [data-id="2da3b986"],
    .elementor-element-2da3b986,
    [data-id="28fe8486"],
    .elementor-element-28fe8486,
    [data-id="51927176"],
    .elementor-element-51927176,
    [data-id="5515a86c"],
    .elementor-element-5515a86c
  ).elementor-hidden-mobile:not(.e-grid) {
    display: block !important;
  }

  body.page-id-538.bmcpc-print-active.bmcpc-print-profile-fee-table :is(
    [data-id="2727cb04"],
    .elementor-element-2727cb04,
    [data-id="2da3b986"],
    .elementor-element-2da3b986,
    [data-id="28fe8486"],
    .elementor-element-28fe8486,
    [data-id="51927176"],
    .elementor-element-51927176,
    [data-id="5515a86c"],
    .elementor-element-5515a86c
  ).elementor-hidden-mobile.e-grid {
    display: grid !important;
  }

  body.bmcpc-print-active.bmcpc-print-profile-fee-table :is(
    [data-bmcpc-print-table-prepared="1"] > .e-grid,
    .grid-table[data-bmcpc-print-table-prepared="1"] > .e-grid,
    [data-bmcpc-print-table-prepared="1"] > .e-con > .e-grid,
    .grid-table[data-bmcpc-print-table-prepared="1"] > .e-con > .e-grid,
    [data-bmcpc-print-table-prepared="1"] > .e-con-inner > .e-grid,
    .grid-table[data-bmcpc-print-table-prepared="1"] > .e-con-inner > .e-grid,
    .bmcpc-print-table-grid[data-bmcpc-print-table-prepared="1"]
  ) {
    display: grid !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    gap: 0 !important;
  }

  body.bmcpc-print-active.bmcpc-print-profile-fee-table [data-bmcpc-print-columns="1"] > :is(.e-grid, .e-con > .e-grid, .e-con-inner > .e-grid),
  body.bmcpc-print-active.bmcpc-print-profile-fee-table .bmcpc-print-table-grid[data-bmcpc-print-columns="1"] { grid-template-columns: minmax(0, 1fr) !important; }
  body.bmcpc-print-active.bmcpc-print-profile-fee-table [data-bmcpc-print-columns="2"] > :is(.e-grid, .e-con > .e-grid, .e-con-inner > .e-grid),
  body.bmcpc-print-active.bmcpc-print-profile-fee-table .bmcpc-print-table-grid[data-bmcpc-print-columns="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.bmcpc-print-active.bmcpc-print-profile-fee-table [data-bmcpc-print-columns="3"] > :is(.e-grid, .e-con > .e-grid, .e-con-inner > .e-grid),
  body.bmcpc-print-active.bmcpc-print-profile-fee-table .bmcpc-print-table-grid[data-bmcpc-print-columns="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  body.bmcpc-print-active.bmcpc-print-profile-fee-table [data-bmcpc-print-columns="4"] > :is(.e-grid, .e-con > .e-grid, .e-con-inner > .e-grid),
  body.bmcpc-print-active.bmcpc-print-profile-fee-table .bmcpc-print-table-grid[data-bmcpc-print-columns="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  body.bmcpc-print-active.bmcpc-print-profile-fee-table [data-bmcpc-print-columns="5"] > :is(.e-grid, .e-con > .e-grid, .e-con-inner > .e-grid),
  body.bmcpc-print-active.bmcpc-print-profile-fee-table .bmcpc-print-table-grid[data-bmcpc-print-columns="5"] { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
  body.bmcpc-print-active.bmcpc-print-profile-fee-table [data-bmcpc-print-columns="6"] > :is(.e-grid, .e-con > .e-grid, .e-con-inner > .e-grid),
  body.bmcpc-print-active.bmcpc-print-profile-fee-table .bmcpc-print-table-grid[data-bmcpc-print-columns="6"] { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
  body.bmcpc-print-active.bmcpc-print-profile-fee-table [data-bmcpc-print-columns="7"] > :is(.e-grid, .e-con > .e-grid, .e-con-inner > .e-grid),
  body.bmcpc-print-active.bmcpc-print-profile-fee-table .bmcpc-print-table-grid[data-bmcpc-print-columns="7"] { grid-template-columns: repeat(7, minmax(0, 1fr)) !important; }
  body.bmcpc-print-active.bmcpc-print-profile-fee-table [data-bmcpc-print-columns="8"] > :is(.e-grid, .e-con > .e-grid, .e-con-inner > .e-grid),
  body.bmcpc-print-active.bmcpc-print-profile-fee-table .bmcpc-print-table-grid[data-bmcpc-print-columns="8"] { grid-template-columns: repeat(8, minmax(0, 1fr)) !important; }
  body.bmcpc-print-active.bmcpc-print-profile-fee-table [data-bmcpc-print-columns="9"] > :is(.e-grid, .e-con > .e-grid, .e-con-inner > .e-grid),
  body.bmcpc-print-active.bmcpc-print-profile-fee-table .bmcpc-print-table-grid[data-bmcpc-print-columns="9"] { grid-template-columns: repeat(9, minmax(0, 1fr)) !important; }
  body.bmcpc-print-active.bmcpc-print-profile-fee-table [data-bmcpc-print-columns="10"] > :is(.e-grid, .e-con > .e-grid, .e-con-inner > .e-grid),
  body.bmcpc-print-active.bmcpc-print-profile-fee-table .bmcpc-print-table-grid[data-bmcpc-print-columns="10"] { grid-template-columns: repeat(10, minmax(0, 1fr)) !important; }
  body.bmcpc-print-active.bmcpc-print-profile-fee-table [data-bmcpc-print-columns="11"] > :is(.e-grid, .e-con > .e-grid, .e-con-inner > .e-grid),
  body.bmcpc-print-active.bmcpc-print-profile-fee-table .bmcpc-print-table-grid[data-bmcpc-print-columns="11"] { grid-template-columns: repeat(11, minmax(0, 1fr)) !important; }
  body.bmcpc-print-active.bmcpc-print-profile-fee-table [data-bmcpc-print-columns="12"] > :is(.e-grid, .e-con > .e-grid, .e-con-inner > .e-grid),
  body.bmcpc-print-active.bmcpc-print-profile-fee-table .bmcpc-print-table-grid[data-bmcpc-print-columns="12"] { grid-template-columns: repeat(12, minmax(0, 1fr)) !important; }

  body.bmcpc-print-active.bmcpc-print-profile-fee-table :is(
    [data-bmcpc-print-table-prepared="1"] > .e-grid > *,
    .grid-table[data-bmcpc-print-table-prepared="1"] > .e-grid > *,
    [data-bmcpc-print-table-prepared="1"] > .e-con > .e-grid > *,
    .grid-table[data-bmcpc-print-table-prepared="1"] > .e-con > .e-grid > *,
    [data-bmcpc-print-table-prepared="1"] > .e-con-inner > .e-grid > *,
    .grid-table[data-bmcpc-print-table-prepared="1"] > .e-con-inner > .e-grid > *,
    .bmcpc-print-table-grid[data-bmcpc-print-table-prepared="1"] > *
  ) {
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    overflow-wrap: anywhere;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  /* Keep the original source grid intact and tighten only the already prepared
     Service Add cells. This recovers enough tail space without changing text,
     column placement or normal screen layout. */
  body.bmcpc-print-active.bmcpc-print-profile-fee-table.bmcpc-print-compact-hero
  .bmcpc-print-table-grid
  > [data-bmcpc-print-table-cell="1"][data-bmcpc-print-fee-group] {
    padding-top: min(var(--bmcpc-print-cell-padding-top, 0px), 1mm) !important;
    padding-bottom: min(var(--bmcpc-print-cell-padding-bottom, 0px), 1mm) !important;
  }

  /* All current compact fee-table mappings are Service Add templates. Their
     selected tab inherits screen flex gaps/min-heights even after the hero is
     compacted, which leaves enough artificial whitespace to force a one-line
     note and Footer onto a sparse trailing page. Normalize only the prepared
     selected tab's immediate layout shells; headings, text and table content
     remain unchanged. */
  body.bmcpc-print-active.bmcpc-print-profile-fee-table.bmcpc-print-compact-hero
  .bmcpc-print-active-tab,
  body.bmcpc-print-active.bmcpc-print-profile-fee-table.bmcpc-print-compact-hero
  .bmcpc-print-active-tab > .e-con,
  body.bmcpc-print-active.bmcpc-print-profile-fee-table.bmcpc-print-compact-hero
  .bmcpc-print-active-tab > .e-con > .e-con-inner {
    display: block !important;
    position: static !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin-top: 0 !important;
    margin-bottom: 2mm !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    gap: 0 !important;
    overflow: visible !important;
  }

  /* Page 2044's active Tab 4 is itself the Elementor container that owns the
   * direct .e-con-inner. The shared Service Add reset above expects one more
   * nested .e-con, so this page otherwise retains the screen wrapper's
   * height:100% and flex gap, creating a large blank print area. Normalize only
   * this confirmed page/tab while keeping the source text and table intact. */
  body.page-id-2044.bmcpc-print-active.bmcpc-print-profile-fee-table
    .bmcpc-print-active-tab > .e-con-inner {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    gap: 0 !important;
    row-gap: 0 !important;
    overflow: visible !important;
    transform: none !important;
    contain: none !important;
  }

  body.bmcpc-print-active.bmcpc-print-profile-fee-table.bmcpc-print-compact-hero
  main.site-main > .page-content > [data-elementor-type="wp-page"]
  > .e-con.e-parent {
    display: block !important;
    position: static !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 0 1mm !important;
    padding: 0 !important;
    gap: 0 !important;
    align-content: start !important;
    justify-content: flex-start !important;
    overflow: visible !important;
  }

  /* Elementor boxed parents keep their screen padding/gap on the inner
     wrapper even after the outer e-parent has been compacted. On Service Add
     templates those invisible reservations sit between the compact hero,
     option links and the active fee table, and can push the final note/Footer
     pair onto a sparse second sheet. Reset only the direct print-layout inner
     wrapper; component grids and their source content remain untouched. */
  body.bmcpc-print-active.bmcpc-print-profile-fee-table.bmcpc-print-compact-hero
  main.site-main > .page-content > [data-elementor-type="wp-page"]
  > .e-con.e-parent > .e-con-inner {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    row-gap: 0 !important;
    align-content: start !important;
    overflow: visible !important;
  }

  body.bmcpc-print-active.bmcpc-print-profile-fee-table.bmcpc-print-compact-hero
  main.site-main > .page-content > [data-elementor-type="wp-page"]
  > .e-con.e-parent:first-child :is(h1, h2) {
    margin: 0 !important;
    line-height: 1.15 !important;
  }

  body.bmcpc-print-active.bmcpc-print-profile-fee-table.bmcpc-print-compact-hero
  main.site-main > .page-content > [data-elementor-type="wp-page"]
  > .e-con.e-parent:first-child h1 {
    font-size: 22pt !important;
  }

  body.bmcpc-print-active.bmcpc-print-profile-fee-table.bmcpc-print-compact-hero
  main.site-main > .page-content > [data-elementor-type="wp-page"]
  > .e-con.e-parent:first-child h2 {
    font-size: 16pt !important;
  }

  body.bmcpc-print-active.bmcpc-print-profile-fee-table.bmcpc-print-compact-hero
  [data-bmcpc-print-footer-flow-pair="1"]
  [data-bmcpc-print-footer-flow-anchor="1"] {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  body.bmcpc-print-active.bmcpc-print-profile-fee-table.bmcpc-print-compact-hero
  :is(
    [data-bmcpc-print-footer-flow-container="1"],
    [data-bmcpc-print-footer-flow-pair="1"]
  ) {
    break-before: auto !important;
    page-break-before: auto !important;
  }

  body.bmcpc-print-active.bmcpc-print-profile-fee-table :is(
    [data-bmcpc-print-cell="header"],
    [data-bmcpc-print-table-header]
  ) {
    background: #e9f2ef !important;
    color: #111 !important;
    font-weight: 700;
  }

  body.bmcpc-print-active.bmcpc-print-profile-fee-table table {
    display: table !important;
    width: 100% !important;
    max-width: 100% !important;
    table-layout: auto !important;
    border-collapse: collapse !important;
    overflow: visible !important;
  }

  body.bmcpc-print-active.bmcpc-print-profile-fee-table thead { display: table-header-group !important; }
  body.bmcpc-print-active.bmcpc-print-profile-fee-table tbody { display: table-row-group !important; }
  body.bmcpc-print-active.bmcpc-print-profile-fee-table tr { display: table-row !important; break-inside: avoid; page-break-inside: avoid; }
  body.bmcpc-print-active.bmcpc-print-profile-fee-table th,
  body.bmcpc-print-active.bmcpc-print-profile-fee-table td { display: table-cell !important; overflow: visible !important; overflow-wrap: anywhere; }

  /* The adapter moves the one source Footer immediately after the final fee
     panel during printing, so it cannot be interleaved with a deferred grid. */
  body.bmcpc-print-active.bmcpc-print-profile-fee-table footer[data-elementor-id="174"][data-bmcpc-print-footer-relocated="1"] {
    clear: both !important;
    margin-top: var(--bmcpc-print-footer-gap) !important;
    break-before: auto !important;
    page-break-before: auto !important;
  }

  /* P0 page-count guard for the confirmed Burial Fee source. The five panels
     contain Elementor screen-table widgets with inherited paragraph/heading
     margins. Keep their text compact and trim only inter-panel/table space;
     do not force a page or control the shared footer from this profile. */
  body.page-id-538.bmcpc-print-active.bmcpc-print-profile-fee-table :is(
    details#e-n-accordion-item-1900,
    details#e-n-accordion-item-1901,
    details#e-n-accordion-item-1902,
    details#e-n-accordion-item-1903,
    details#e-n-accordion-item-1904
  ) {
    margin-bottom: 2mm !important;
  }

  /* Native two-column rows are taller than the former four-column compact
     layout. Let Chromium paginate the final schedules in normal flow; the
     old reserved page left a summary icon stranded on an otherwise blank
     sheet once the source geometry was restored. */
  body.page-id-538.bmcpc-print-active.bmcpc-print-profile-fee-table details#e-n-accordion-item-1904 {
    box-sizing: border-box !important;
    min-height: 0 !important;
    break-before: auto !important;
    page-break-before: auto !important;
  }

  /* The approved first page begins the main fee schedule below the lead.
     Permit only that large source grid to fragment; its individual cells
     remain avoid-inside, so rows stay readable across the page boundary. */
  body.page-id-538.bmcpc-print-active.bmcpc-print-profile-fee-table details#e-n-accordion-item-1900 [data-id="39b99e05"] {
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  /* Allow the restored native schedule to split between rows. Keeping the
     whole details element together can strand its summary on a blank page. */
  body.page-id-538.bmcpc-print-active.bmcpc-print-profile-fee-table details#e-n-accordion-item-1903 {
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  body.page-id-538.bmcpc-print-active.bmcpc-print-profile-fee-table :is(
    [data-id="2727cb04"],
    .elementor-element-2727cb04,
    [data-id="2da3b986"],
    .elementor-element-2da3b986,
    [data-id="5515a86c"],
    .elementor-element-5515a86c
  ).grid-table {
    margin-bottom: 2mm !important;
  }

  body.page-id-538.bmcpc-print-active.bmcpc-print-profile-fee-table :is(
    [data-id="2727cb04"],
    .elementor-element-2727cb04,
    [data-id="2da3b986"],
    .elementor-element-2da3b986,
    [data-id="5515a86c"],
    .elementor-element-5515a86c
  ) :is(.elementor-widget-container, p, h1, h2, h3, h4, h5, h6) {
    margin-block: 0 !important;
  }

  /* Match the approved Burial page's compact lead rather than the screen hero. */
  body.page-id-538.bmcpc-print-active.bmcpc-print-profile-fee-table :is(
    [data-id="4da549bc"],
    .elementor-element-4da549bc,
    [data-id="f64787b"],
    .elementor-element-f64787b
  ) {
    display: block !important;
    position: static !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 0 3mm !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #fff !important;
    background-image: none !important;
    transform: none !important;
  }

  body.page-id-538.bmcpc-print-active.bmcpc-print-profile-fee-table :is(
    [data-id="1b4e133c"],
    [data-id="2151bd94"],
    [data-id="9f7fb1c"]
  ) {
    margin: 0 0 2mm !important;
    padding: 0 !important;
    min-height: 0 !important;
  }

  body.page-id-538.bmcpc-print-active.bmcpc-print-profile-fee-table [data-id="1b4e133c"] .elementor-heading-title {
    color: var(--bmcpc-print-brand) !important;
    font-size: 16pt !important;
    line-height: 1.2 !important;
  }

  body.page-id-538.bmcpc-print-active.bmcpc-print-profile-fee-table [data-id="2151bd94"] .elementor-heading-title,
  body.page-id-538.bmcpc-print-active.bmcpc-print-profile-fee-table [data-id="9f7fb1c"] .elementor-heading-title {
    color: var(--bmcpc-print-brand) !important;
    font-size: 11pt !important;
    line-height: 1.25 !important;
  }

  body.page-id-538.bmcpc-print-active.bmcpc-print-profile-fee-table :is(
    [data-id="2d9f881a"],
    .elementor-element-2d9f881a
  ) {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 0 3mm !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  /* Each desktop fee grid is a sequence of source label/amount rows. Preserve
     the canonical desktop track template captured before print; the previous
     forced four-column compaction changed row order and squeezed each logical
     row into half of the page. */
  body.page-id-538.bmcpc-print-active.bmcpc-print-profile-fee-table :is(
    details#e-n-accordion-item-1900 [data-id="2727cb04"],
    details#e-n-accordion-item-1901 [data-id="2da3b986"],
    details#e-n-accordion-item-1902 [data-id="28fe8486"],
    details#e-n-accordion-item-1903 [data-id="51927176"],
    details#e-n-accordion-item-1904 [data-id="5515a86c"]
  ).grid-table.e-grid {
    display: block !important;
    position: static !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    contain: none !important;
  }

  body.page-id-538.bmcpc-print-active.bmcpc-print-profile-fee-table :is(
    details#e-n-accordion-item-1902 [data-id="5ae07219"],
    details#e-n-accordion-item-1903 [data-id="1794cdc8"]
  ) {
    display: block !important;
    position: static !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.page-id-538.bmcpc-print-active.bmcpc-print-profile-fee-table :is(
    details#e-n-accordion-item-1900 [data-id="2727cb04"],
    details#e-n-accordion-item-1901 [data-id="2da3b986"],
    details#e-n-accordion-item-1902 [data-id="28fe8486"],
    details#e-n-accordion-item-1903 [data-id="51927176"],
    details#e-n-accordion-item-1904 [data-id="5515a86c"]
  ).grid-table.e-grid > .e-grid {
    display: grid !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;
    gap: 0 !important;
    align-items: stretch !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  body.page-id-538.bmcpc-print-active.bmcpc-print-profile-fee-table :is(
    details#e-n-accordion-item-1900 [data-id="2727cb04"],
    details#e-n-accordion-item-1901 [data-id="2da3b986"],
    details#e-n-accordion-item-1902 [data-id="28fe8486"],
    details#e-n-accordion-item-1903 [data-id="51927176"],
    details#e-n-accordion-item-1904 [data-id="5515a86c"]
  ).grid-table.e-grid > .e-grid > .elementor-element {
    display: block !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 1.5mm 2mm !important;
    font-size: 8.4pt !important;
    line-height: 1.25 !important;
    overflow: visible !important;
    break-inside: avoid !important;
  }

  /* The final desktop table already contains its own "其他費用" heading.
     The shared table adapter hides every phone-only fee-table sibling; retain
     only this redundant accordion summary suppression for the final panel. */
  body.page-id-1345.bmcpc-print-active.bmcpc-print-profile-fee-table
    details#e-n-accordion-item-1774 > summary {
    display: none !important;
  }

  /* Footer placement and pagination are owned by print-footer-flow.js and the
     shared header/footer contract. A former page-id override forced the Footer
     onto a dedicated sixth page even when page five had ample free space. */

  /* Alpha.67: the Urn Lot Service Add #tab2 fee table is an author-supplied
     two-column Elementor grid rather than a .grid-table or native <table>.
     Keep that confirmed desktop grid in its original row/column geometry even
     if Chromium enters paged media before the controller's transient state is
     painted. The phone-only five-cell branch is a responsive duplicate and is
     excluded from this page's print output. These rules are print-only and
     scoped to Page 2044, so normal screen rendering and every other fee page
     remain unchanged. */
  body.page-id-2044 :is(
    .elementor-element-2a8b2ac.e-grid,
    [data-id="2a8b2ac"].e-grid
  ) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: auto !important;
    grid-auto-flow: row !important;
    grid-auto-rows: auto !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
  }

  body.page-id-2044 :is(
    .elementor-element-2a8b2ac.e-grid,
    [data-id="2a8b2ac"].e-grid
  ) > * {
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
  }

  body.page-id-2044 :is(
    .elementor-element-25da5a2.e-grid,
    [data-id="25da5a2"].e-grid
  ) {
    display: none !important;
  }
}
