/* Print handout for the Table Planner and the Occasion Planner.
   Paper colour lives in @media print.
   The Table Planner on-screen preview repeats the #print-output colours
   under .tp-preview-shell .tp-preview-colour only. */

.ph-print-only { display: none; }

@page {
  size: A4;
  margin: 16mm 14mm 18mm;
  @bottom-left {
    content: "The Culinary Journal";
    font-family: Georgia, "Palatino Linotype", Palatino, serif;
    font-size: 8pt;
    color: #6e5c4e;
  }
  @bottom-right {
    content: "Page " counter(page);
    font-family: "DM Sans", "Segoe UI", sans-serif;
    font-size: 8pt;
    color: #6e5c4e;
  }
}

@media print {
  body.page-bg {
    background: #fffdf8 !important;
    color: #2a2418 !important;
    min-height: 0 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  #print-output,
  #fp-print-sheet {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  #fp-print-sheet.is-ready { display: block !important; }

  body:has(#fp-print-sheet.is-ready) .fp-wrap,
  body:has(#fp-print-sheet.is-ready) .nav,
  body:has(#fp-print-sheet.is-ready) .tab-nav,
  body:has(#fp-print-sheet.is-ready) .footer,
  body:has(#fp-print-sheet.is-ready) #cj-print-mast,
  body:has(#fp-print-sheet.is-ready) #cj-print-foot,
  body:has(#fp-print-sheet.is-ready) .cj-skip-link,
  body:has(#fp-print-sheet.is-ready) .tcj-fb-btn,
  body:has(#fp-print-sheet.is-ready) .tcj-fb-ov {
    display: none !important;
  }

  .feast-banner {
    background: #f6efe4 !important;
    color: #2a2418 !important;
    border: 0.6pt solid #e4d3bc !important;
    border-top: 3.5pt solid #c4622d !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  .feast-banner .fp-title,
  .feast-banner .tp-title,
  .feast-banner h1,
  .fp-h,
  .fp-name,
  .feast-h {
    color: #1e4a38 !important;
  }
  .fp-card,
  .fp-pick {
    background: #fffdf8 !important;
    border: 0.6pt solid #e4d3bc !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .feast-kicker,
  .fp-section,
  .fp-count,
  .feast-aisle-name {
    color: #a15a32 !important;
  }

  #print-output .ph-pack,
  #fp-print-sheet .ph-pack {
    background: #fffdf8;
    color: #2a2418;
    font-family: "DM Sans", "Segoe UI", Helvetica, sans-serif;
    font-size: 10pt;
    line-height: 1.35;
  }

  #print-output .ph-hero,
  #fp-print-sheet .ph-hero {
    background: #f6efe4 !important;
    color: #2a2418 !important;
    border: 0.7pt solid #e4d3bc;
    border-top: 4pt solid #c4622d;
    padding: 11pt 12pt 10pt;
    margin: 0 0 10pt;
    break-inside: avoid;
    page-break-inside: avoid;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  #print-output .ph-kicker,
  #fp-print-sheet .ph-kicker {
    margin: 0 0 2pt;
    font-size: 8pt;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #a15a32 !important;
  }
  #print-output .ph-hero h1,
  #fp-print-sheet .ph-hero h1 {
    margin: 0;
    font-family: "Cormorant Garamond", Palatino, "Palatino Linotype", Georgia, serif;
    font-size: 24pt;
    font-weight: 600;
    line-height: 1.05;
    color: #1e4a38 !important;
  }
  #print-output .ph-facts,
  #fp-print-sheet .ph-facts {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6pt 8pt;
    margin: 8pt 0 0;
    padding: 8pt 0 0;
    border-top: 0.8pt solid #c4973b;
  }
  #print-output .ph-facts li,
  #fp-print-sheet .ph-facts li { break-inside: avoid; }
  #print-output .ph-facts span,
  #fp-print-sheet .ph-facts span {
    display: block;
    font-size: 7.5pt;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #a15a32 !important;
  }
  #print-output .ph-facts b,
  #fp-print-sheet .ph-facts b {
    display: block;
    margin-top: 1pt;
    font-size: 11pt;
    font-weight: 650;
    color: #2a2418 !important;
  }

  #print-output .ph-tableline,
  #fp-print-sheet .ph-tableline {
    margin: 0 0 8pt;
    padding: 6pt 8pt;
    background: #fbf6ee !important;
    border-left: 2.5pt solid #c4973b;
    color: #2a2418 !important;
    font-size: 10pt;
  }

  #print-output .ph-section,
  #fp-print-sheet .ph-section,
  #print-output .ph-visual .pf-block {
    margin: 0 0 10pt;
    padding: 8pt 9pt 9pt;
    background: #fffdf8 !important;
    border: 0.6pt solid #eadfce;
    break-inside: auto;
    page-break-after: auto;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  #print-output .ph-section h2,
  #fp-print-sheet .ph-section h2,
  #print-output .ph-visual h2,
  #print-output .ph-visual h3,
  #fp-print-sheet h2 {
    margin: 0 0 6pt;
    padding: 0 0 3pt;
    border-bottom: 1.25pt solid #c4973b;
    font-family: "Cormorant Garamond", Palatino, Georgia, serif;
    font-size: 15pt;
    font-weight: 600;
    line-height: 1.1;
    color: #1e4a38 !important;
    break-after: avoid;
    page-break-after: avoid;
  }
  #print-output .ph-lead,
  #fp-print-sheet .ph-lead,
  #print-output .ph-meta,
  #fp-print-sheet .ph-meta {
    margin: 0 0 6pt;
    color: #5c4e42 !important;
    font-size: 9pt;
    line-height: 1.35;
  }

  #print-output .ph-guests,
  #fp-print-sheet .ph-guests,
  #print-output .ph-rules,
  #fp-print-sheet .ph-clock {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  #print-output .ph-guest,
  #fp-print-sheet .ph-guest,
  #print-output .ph-clock li,
  #fp-print-sheet .ph-clock li,
  #print-output .ph-rule {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8pt;
    padding: 4.5pt 4pt;
    border-bottom: 0.4pt solid #eadfce;
    break-inside: avoid;
    page-break-inside: avoid;
  }
  #print-output .ph-guest:nth-child(even),
  #fp-print-sheet .ph-guest:nth-child(even),
  #fp-print-sheet .ph-clock li:nth-child(even) {
    background: #fbf6ee !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  #print-output .ph-who,
  #fp-print-sheet .ph-who { min-width: 0; }
  #print-output .ph-name,
  #fp-print-sheet .ph-name,
  #print-output .ph-dish,
  #fp-print-sheet .ph-dish,
  #fp-print-sheet .ph-clock-name,
  #print-output .ph-rule b,
  #fp-print-sheet .ph-clock b {
    display: block;
    font-weight: 700;
    color: #2a2418 !important;
  }
  #print-output .ph-tags,
  #fp-print-sheet .ph-tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 3pt;
    max-width: 62%;
  }
  #print-output .ph-note,
  #fp-print-sheet .ph-note {
    font-size: 8.5pt;
    color: #6e3a28 !important;
    font-weight: 600;
  }
  #print-output .ph-sub,
  #fp-print-sheet .ph-sub,
  #print-output .ph-quiet,
  #fp-print-sheet .ph-quiet {
    display: block;
    margin-top: 1pt;
    font-size: 8.5pt;
    color: #6e5c4e !important;
    font-weight: 500;
  }

  #print-output .ph-tag,
  #fp-print-sheet .ph-tag {
    display: inline-block;
    padding: 1pt 6pt;
    border-radius: 99px;
    border: 0.7pt solid currentColor;
    font-size: 8pt;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0.01em;
    background: #f6efe4 !important;
    color: #6e5c4e !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  #print-output .ph-tag-vegetarian,
  #fp-print-sheet .ph-tag-vegetarian { background: #e7f0dc !important; color: #3d5c28 !important; }
  #print-output .ph-tag-vegan,
  #fp-print-sheet .ph-tag-vegan { background: #e3f2e8 !important; color: #1e4a38 !important; }
  #print-output .ph-tag-gluten,
  #fp-print-sheet .ph-tag-gluten { background: #f8efd4 !important; color: #7a5410 !important; }
  #print-output .ph-tag-dairy,
  #fp-print-sheet .ph-tag-dairy { background: #f8e6d8 !important; color: #8a3e22 !important; }
  #print-output .ph-tag-nut,
  #fp-print-sheet .ph-tag-nut,
  #print-output .ph-tag-allergy,
  #fp-print-sheet .ph-tag-nut,
  #fp-print-sheet .ph-tag-allergy { background: #f6ddd4 !important; color: #8a341c !important; }
  #print-output .ph-tag-halal,
  #fp-print-sheet .ph-tag-halal,
  #print-output .ph-tag-kosher,
  #fp-print-sheet .ph-tag-kosher { background: #f3e8f2 !important; color: #5c3d55 !important; }
  #print-output .ph-tag-shellfish,
  #fp-print-sheet .ph-tag-shellfish { background: #fde8df !important; color: #9a4a28 !important; }
  #print-output .ph-tag-egg,
  #fp-print-sheet .ph-tag-egg { background: #f7f3d8 !important; color: #6a5a12 !important; }
  #print-output .ph-tag-soy,
  #fp-print-sheet .ph-tag-soy { background: #e6f0ea !important; color: #1f5a48 !important; }
  #print-output .ph-tag-attending,
  #fp-print-sheet .ph-tag-attending { background: #e3f2e8 !important; color: #1e4a38 !important; }
  #print-output .ph-tag-pending,
  #fp-print-sheet .ph-tag-pending { background: #f4efe6 !important; color: #6e5c4e !important; }
  #print-output .ph-tag-declined,
  #fp-print-sheet .ph-tag-declined { background: #f6e4e1 !important; color: #8d2b1f !important; }
  #print-output .ph-tag-guide,
  #fp-print-sheet .ph-tag-guide { background: #f8efd4 !important; color: #7a5410 !important; margin-left: 4pt; }
  #print-output .ph-tag-other,
  #fp-print-sheet .ph-tag-other { background: #f3eadc !important; color: #6b5344 !important; }

  #print-output .ph-warn,
  #fp-print-sheet .ph-warn {
    margin: 0 0 8pt;
    padding: 6pt 8pt;
    background: #f8efe8 !important;
    border: 0.7pt solid #e7c2b0;
    border-left: 2.5pt solid #c4622d;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  #print-output .ph-warn p,
  #fp-print-sheet .ph-warn p { margin: 0 0 2pt; color: #6e3a28 !important; font-size: 9.5pt; }

  #print-output .ph-table,
  #fp-print-sheet .ph-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 8pt;
    font-size: 9.5pt;
  }
  #print-output .ph-table caption,
  #fp-print-sheet .ph-table caption {
    caption-side: top;
    text-align: left;
    padding: 7pt 4pt 3pt;
    background: #f6efe4 !important;
    color: #5c3d55 !important;
    font-family: "Cormorant Garamond", Palatino, Georgia, serif;
    font-size: 13pt;
    font-weight: 600;
    border-bottom: 0.8pt solid #c4973b;
    break-after: avoid;
    page-break-after: avoid;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  #print-output .ph-table thead,
  #fp-print-sheet .ph-table thead { display: table-header-group; }
  #print-output .ph-table th,
  #fp-print-sheet .ph-table th {
    padding: 3pt 4pt;
    text-align: left;
    font-size: 7.5pt;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #6e5c4e !important;
    background: #f3eadc !important;
    border-bottom: 0.8pt solid #c4973b;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  #print-output .ph-table td,
  #fp-print-sheet .ph-table td {
    padding: 3.5pt 4pt;
    vertical-align: top;
    border-bottom: 0.4pt solid #eadfce;
    color: #2a2418 !important;
    background: #fffdf8 !important;
  }
  #print-output .ph-table tr,
  #fp-print-sheet .ph-table tr,
  #print-output .pf-block tr {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  #print-output .ph-course td,
  #fp-print-sheet .ph-course td {
    background: #f7f1e6 !important;
    color: #1e4a38 !important;
    font-family: "Cormorant Garamond", Palatino, Georgia, serif;
    font-size: 12.5pt;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    border-top: 1.4pt solid #c4622d;
    border-bottom: 0.4pt solid #e4d3bc;
    padding-top: 6pt;
  }
  #print-output .ph-num,
  #fp-print-sheet .ph-num {
    font-variant-numeric: tabular-nums;
    text-align: right;
  }
  #print-output .ph-serv,
  #fp-print-sheet .ph-serv { width: 14%; font-weight: 700; white-space: nowrap; }
  #print-output .ph-shop .ph-qty,
  #fp-print-sheet .ph-shop .ph-qty { width: 20%; white-space: normal; }
  #print-output .ph-shop .ph-unit,
  #fp-print-sheet .ph-shop .ph-unit { width: 20%; text-align: left; white-space: normal; color: #6e5c4e !important; }
  #print-output .ph-price,
  #fp-print-sheet .ph-price { width: 16%; white-space: nowrap; }
  #print-output .ph-check,
  #fp-print-sheet .ph-check { width: 8%; text-align: center; }
  #print-output .ph-tick,
  #fp-print-sheet .ph-tick {
    display: inline-block;
    width: 9pt;
    height: 9pt;
    border: 1pt solid #c4622d;
    border-radius: 1.5pt;
    background: #fffdf8 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  #print-output .ph-section > .ph-tags,
  #fp-print-sheet .ph-section > .ph-tags {
    justify-content: flex-start;
    max-width: none;
  }
  #print-output .ph-amts,
  #fp-print-sheet .ph-amts { display: flex; flex-direction: column; gap: 2pt; }
  #print-output .ph-amt,
  #fp-print-sheet .ph-amt {
    display: grid;
    grid-template-columns: minmax(9.2em, max-content) minmax(0, 1fr);
    column-gap: 0.8em;
    align-items: baseline;
  }
  #print-output .ph-amt .ph-qty,
  #fp-print-sheet .ph-amt .ph-qty {
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    color: #2a2418 !important;
  }
  #print-output .ph-ing,
  #fp-print-sheet .ph-ing {
    text-align: left;
    white-space: normal;
    color: #5c4e42 !important;
  }

  #print-output .ph-clock,
  #fp-print-sheet .ph-clock { list-style: none; margin: 0; padding: 0; }
  #fp-print-sheet .ph-clock li,
  #print-output .ph-clock li { display: grid; grid-template-columns: 7.2em minmax(0, 1fr); gap: 2pt 8pt; }
  #fp-print-sheet .ph-clock b,
  #print-output .ph-clock b { color: #a15a32 !important; font-variant-numeric: tabular-nums; }
  #fp-print-sheet .ph-clock .ph-meta,
  #print-output .ph-clock .ph-meta { grid-column: 2; margin: 0; }

  #print-output .pf-banner {
    display: flex;
    justify-content: space-between;
    gap: 10pt;
    margin: 0 0 10pt;
    padding: 8pt 10pt;
    background: #f6efe4 !important;
    color: #1e4a38 !important;
    border: 0.6pt solid #e4d3bc;
    border-top: 3.5pt solid #c4622d;
    border-bottom: 0.8pt solid #c4973b;
    font-family: "Cormorant Garamond", Palatino, Georgia, serif;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  #print-output .pf-banner,
  #print-output .pf-banner * { color: #1e4a38 !important; }
  #print-output .pf-floor {
    background: #fbf6ee !important;
    border: 0.8pt solid #c4973b !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  #print-output .pf-table {
    background: #fffdf8 !important;
    border: 1.4pt solid #c4622d !important;
    color: #1e4a38 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  #print-output .pf-tname { color: #1e4a38 !important; font-weight: 700; }
  #print-output .pf-tsub,
  #print-output .pf-tdim,
  #print-output .pf-note { color: #6e5c4e !important; }
  #print-output .pf-card,
  #print-output .pf-place {
    background: #fffdf8 !important;
    border: 0.7pt solid #c4973b !important;
    border-top: 3pt solid #c4622d !important;
    break-inside: avoid;
    page-break-inside: avoid;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  #print-output .pf-place.empty {
    background: transparent !important;
    border-style: dashed !important;
    border-color: #e4d3bc !important;
    border-top-style: dashed !important;
  }
  #print-output .pf-person {
    color: #1e4a38 !important;
    font-family: "Cormorant Garamond", Palatino, Georgia, serif;
  }
  #print-output .pf-event,
  #print-output .pf-seat { color: #a15a32 !important; }
  #print-output .pf-sample {
    color: #7a5410 !important;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }
  #print-output .pf-block h2,
  #print-output .pf-block h3 { break-after: avoid; page-break-after: avoid; }
  #print-output .pf-sheet {
    break-before: page;
    page-break-before: always;
  }
  #print-output .ph-visual .pf-block table th,
  #print-output .ph-visual .pf-block table td {
    border-bottom: 0.4pt solid #eadfce;
    padding: 3pt 4pt;
  }
  #print-output .ph-visual .pf-block table th {
    color: #6e5c4e !important;
    background: #f3eadc !important;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-size: 8pt;
  }
}

/* Screen preview: the Table Planner on-screen preview uses the same colours
   as the printed sheet. Refreshed from the #print-output rules in @media print
   above (after PR #132). Scoped to .tp-preview-shell .tp-preview-colour so
   nothing else on screen changes. Print rules stay as they are. */
@media screen {
  .tp-preview-shell .tp-preview-colour {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .tp-preview-shell .tp-preview-colour .ph-pack {
    background: #fffdf8;
    color: #2a2418;
    font-family: "DM Sans", "Segoe UI", Helvetica, sans-serif;
    font-size: 10pt;
    line-height: 1.35;
  }

  .tp-preview-shell .tp-preview-colour .ph-hero {
    background: #f6efe4 !important;
    color: #2a2418 !important;
    border: 0.7pt solid #e4d3bc;
    border-top: 4pt solid #c4622d;
    padding: 11pt 12pt 10pt;
    margin: 0 0 10pt;
    break-inside: avoid;
    page-break-inside: avoid;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .tp-preview-shell .tp-preview-colour .ph-kicker {
    margin: 0 0 2pt;
    font-size: 8pt;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #a15a32 !important;
  }

  .tp-preview-shell .tp-preview-colour .ph-hero h1 {
    margin: 0;
    font-family: "Cormorant Garamond", Palatino, "Palatino Linotype", Georgia, serif;
    font-size: 24pt;
    font-weight: 600;
    line-height: 1.05;
    color: #1e4a38 !important;
  }

  .tp-preview-shell .tp-preview-colour .ph-facts {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6pt 8pt;
    margin: 8pt 0 0;
    padding: 8pt 0 0;
    border-top: 0.8pt solid #c4973b;
  }

  .tp-preview-shell .tp-preview-colour .ph-facts li { break-inside: avoid;
  }

  .tp-preview-shell .tp-preview-colour .ph-facts span {
    display: block;
    font-size: 7.5pt;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #a15a32 !important;
  }

  .tp-preview-shell .tp-preview-colour .ph-facts b {
    display: block;
    margin-top: 1pt;
    font-size: 11pt;
    font-weight: 650;
    color: #2a2418 !important;
  }

  .tp-preview-shell .tp-preview-colour .ph-tableline {
    margin: 0 0 8pt;
    padding: 6pt 8pt;
    background: #fbf6ee !important;
    border-left: 2.5pt solid #c4973b;
    color: #2a2418 !important;
    font-size: 10pt;
  }

  .tp-preview-shell .tp-preview-colour .ph-section,
  .tp-preview-shell .tp-preview-colour .ph-visual .pf-block {
    margin: 0 0 10pt;
    padding: 8pt 9pt 9pt;
    background: #fffdf8 !important;
    border: 0.6pt solid #eadfce;
    break-inside: auto;
    page-break-after: auto;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .tp-preview-shell .tp-preview-colour .ph-section h2,
  .tp-preview-shell .tp-preview-colour .ph-visual h2,
  .tp-preview-shell .tp-preview-colour .ph-visual h3 {
    margin: 0 0 6pt;
    padding: 0 0 3pt;
    border-bottom: 1.25pt solid #c4973b;
    font-family: "Cormorant Garamond", Palatino, Georgia, serif;
    font-size: 15pt;
    font-weight: 600;
    line-height: 1.1;
    color: #1e4a38 !important;
    break-after: avoid;
    page-break-after: avoid;
  }

  .tp-preview-shell .tp-preview-colour .ph-lead,
  .tp-preview-shell .tp-preview-colour .ph-meta {
    margin: 0 0 6pt;
    color: #5c4e42 !important;
    font-size: 9pt;
    line-height: 1.35;
  }

  .tp-preview-shell .tp-preview-colour .ph-guests,
  .tp-preview-shell .tp-preview-colour .ph-rules {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .tp-preview-shell .tp-preview-colour .ph-guest,
  .tp-preview-shell .tp-preview-colour .ph-clock li,
  .tp-preview-shell .tp-preview-colour .ph-rule {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8pt;
    padding: 4.5pt 4pt;
    border-bottom: 0.4pt solid #eadfce;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .tp-preview-shell .tp-preview-colour .ph-guest:nth-child(even) {
    background: #fbf6ee !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .tp-preview-shell .tp-preview-colour .ph-who { min-width: 0;
  }

  .tp-preview-shell .tp-preview-colour .ph-name,
  .tp-preview-shell .tp-preview-colour .ph-dish,
  .tp-preview-shell .tp-preview-colour .ph-rule b {
    display: block;
    font-weight: 700;
    color: #2a2418 !important;
  }

  .tp-preview-shell .tp-preview-colour .ph-tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 3pt;
    max-width: 62%;
  }

  .tp-preview-shell .tp-preview-colour .ph-note {
    font-size: 8.5pt;
    color: #6e3a28 !important;
    font-weight: 600;
  }

  .tp-preview-shell .tp-preview-colour .ph-sub,
  .tp-preview-shell .tp-preview-colour .ph-quiet {
    display: block;
    margin-top: 1pt;
    font-size: 8.5pt;
    color: #6e5c4e !important;
    font-weight: 500;
  }

  .tp-preview-shell .tp-preview-colour .ph-tag {
    display: inline-block;
    padding: 1pt 6pt;
    border-radius: 99px;
    border: 0.7pt solid currentColor;
    font-size: 8pt;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0.01em;
    background: #f6efe4 !important;
    color: #6e5c4e !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .tp-preview-shell .tp-preview-colour .ph-tag-vegetarian { background: #e7f0dc !important; color: #3d5c28 !important;
  }

  .tp-preview-shell .tp-preview-colour .ph-tag-vegan { background: #e3f2e8 !important; color: #1e4a38 !important;
  }

  .tp-preview-shell .tp-preview-colour .ph-tag-gluten { background: #f8efd4 !important; color: #7a5410 !important;
  }

  .tp-preview-shell .tp-preview-colour .ph-tag-dairy { background: #f8e6d8 !important; color: #8a3e22 !important;
  }

  .tp-preview-shell .tp-preview-colour .ph-tag-nut,
  .tp-preview-shell .tp-preview-colour .ph-tag-allergy { background: #f6ddd4 !important; color: #8a341c !important;
  }

  .tp-preview-shell .tp-preview-colour .ph-tag-halal,
  .tp-preview-shell .tp-preview-colour .ph-tag-kosher { background: #f3e8f2 !important; color: #5c3d55 !important;
  }

  .tp-preview-shell .tp-preview-colour .ph-tag-shellfish { background: #fde8df !important; color: #9a4a28 !important;
  }

  .tp-preview-shell .tp-preview-colour .ph-tag-egg { background: #f7f3d8 !important; color: #6a5a12 !important;
  }

  .tp-preview-shell .tp-preview-colour .ph-tag-soy { background: #e6f0ea !important; color: #1f5a48 !important;
  }

  .tp-preview-shell .tp-preview-colour .ph-tag-attending { background: #e3f2e8 !important; color: #1e4a38 !important;
  }

  .tp-preview-shell .tp-preview-colour .ph-tag-pending { background: #f4efe6 !important; color: #6e5c4e !important;
  }

  .tp-preview-shell .tp-preview-colour .ph-tag-declined { background: #f6e4e1 !important; color: #8d2b1f !important;
  }

  .tp-preview-shell .tp-preview-colour .ph-tag-guide { background: #f8efd4 !important; color: #7a5410 !important; margin-left: 4pt;
  }

  .tp-preview-shell .tp-preview-colour .ph-tag-other { background: #f3eadc !important; color: #6b5344 !important;
  }

  .tp-preview-shell .tp-preview-colour .ph-warn {
    margin: 0 0 8pt;
    padding: 6pt 8pt;
    background: #f8efe8 !important;
    border: 0.7pt solid #e7c2b0;
    border-left: 2.5pt solid #c4622d;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .tp-preview-shell .tp-preview-colour .ph-warn p { margin: 0 0 2pt; color: #6e3a28 !important; font-size: 9.5pt;
  }

  .tp-preview-shell .tp-preview-colour .ph-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 8pt;
    font-size: 9.5pt;
  }

  .tp-preview-shell .tp-preview-colour .ph-table caption {
    caption-side: top;
    text-align: left;
    padding: 7pt 4pt 3pt;
    background: #f6efe4 !important;
    color: #5c3d55 !important;
    font-family: "Cormorant Garamond", Palatino, Georgia, serif;
    font-size: 13pt;
    font-weight: 600;
    border-bottom: 0.8pt solid #c4973b;
    break-after: avoid;
    page-break-after: avoid;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .tp-preview-shell .tp-preview-colour .ph-table thead { display: table-header-group;
  }

  .tp-preview-shell .tp-preview-colour .ph-table th {
    padding: 3pt 4pt;
    text-align: left;
    font-size: 7.5pt;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #6e5c4e !important;
    background: #f3eadc !important;
    border-bottom: 0.8pt solid #c4973b;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .tp-preview-shell .tp-preview-colour .ph-table td {
    padding: 3.5pt 4pt;
    vertical-align: top;
    border-bottom: 0.4pt solid #eadfce;
    color: #2a2418 !important;
    background: #fffdf8 !important;
  }

  .tp-preview-shell .tp-preview-colour .ph-table tr,
  .tp-preview-shell .tp-preview-colour .pf-block tr {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .tp-preview-shell .tp-preview-colour .ph-course td {
    background: #f7f1e6 !important;
    color: #1e4a38 !important;
    font-family: "Cormorant Garamond", Palatino, Georgia, serif;
    font-size: 12.5pt;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    border-top: 1.4pt solid #c4622d;
    border-bottom: 0.4pt solid #e4d3bc;
    padding-top: 6pt;
  }

  .tp-preview-shell .tp-preview-colour .ph-num {
    font-variant-numeric: tabular-nums;
    text-align: right;
  }

  .tp-preview-shell .tp-preview-colour .ph-serv { width: 14%; font-weight: 700; white-space: nowrap;
  }

  .tp-preview-shell .tp-preview-colour .ph-shop .ph-qty { width: 20%; white-space: normal;
  }

  .tp-preview-shell .tp-preview-colour .ph-shop .ph-unit { width: 20%; text-align: left; white-space: normal; color: #6e5c4e !important;
  }

  .tp-preview-shell .tp-preview-colour .ph-price { width: 16%; white-space: nowrap;
  }

  .tp-preview-shell .tp-preview-colour .ph-check { width: 8%; text-align: center;
  }

  .tp-preview-shell .tp-preview-colour .ph-tick {
    display: inline-block;
    width: 9pt;
    height: 9pt;
    border: 1pt solid #c4622d;
    border-radius: 1.5pt;
    background: #fffdf8 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .tp-preview-shell .tp-preview-colour .ph-section > .ph-tags {
    justify-content: flex-start;
    max-width: none;
  }

  .tp-preview-shell .tp-preview-colour .ph-amts { display: flex; flex-direction: column; gap: 2pt;
  }

  .tp-preview-shell .tp-preview-colour .ph-amt {
    display: grid;
    grid-template-columns: minmax(9.2em, max-content) minmax(0, 1fr);
    column-gap: 0.8em;
    align-items: baseline;
  }

  .tp-preview-shell .tp-preview-colour .ph-amt .ph-qty {
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    color: #2a2418 !important;
  }

  .tp-preview-shell .tp-preview-colour .ph-ing {
    text-align: left;
    white-space: normal;
    color: #5c4e42 !important;
  }

  .tp-preview-shell .tp-preview-colour .ph-clock { list-style: none; margin: 0; padding: 0;
  }

  .tp-preview-shell .tp-preview-colour .ph-clock li { display: grid; grid-template-columns: 7.2em minmax(0, 1fr); gap: 2pt 8pt;
  }

  .tp-preview-shell .tp-preview-colour .ph-clock b { color: #a15a32 !important; font-variant-numeric: tabular-nums;
  }

  .tp-preview-shell .tp-preview-colour .ph-clock .ph-meta { grid-column: 2; margin: 0;
  }

  .tp-preview-shell .tp-preview-colour .pf-banner {
    display: flex;
    justify-content: space-between;
    gap: 10pt;
    margin: 0 0 10pt;
    padding: 8pt 10pt;
    background: #f6efe4 !important;
    color: #1e4a38 !important;
    border: 0.6pt solid #e4d3bc;
    border-top: 3.5pt solid #c4622d;
    border-bottom: 0.8pt solid #c4973b;
    font-family: "Cormorant Garamond", Palatino, Georgia, serif;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .tp-preview-shell .tp-preview-colour .pf-banner,
  .tp-preview-shell .tp-preview-colour .pf-banner * { color: #1e4a38 !important;
  }

  .tp-preview-shell .tp-preview-colour .pf-floor {
    background: #fbf6ee !important;
    border: 0.8pt solid #c4973b !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .tp-preview-shell .tp-preview-colour .pf-table {
    background: #fffdf8 !important;
    border: 1.4pt solid #c4622d !important;
    color: #1e4a38 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .tp-preview-shell .tp-preview-colour .pf-tname { color: #1e4a38 !important; font-weight: 700;
  }

  .tp-preview-shell .tp-preview-colour .pf-tsub,
  .tp-preview-shell .tp-preview-colour .pf-tdim,
  .tp-preview-shell .tp-preview-colour .pf-note { color: #6e5c4e !important;
  }

  .tp-preview-shell .tp-preview-colour .pf-card,
  .tp-preview-shell .tp-preview-colour .pf-place {
    background: #fffdf8 !important;
    border: 0.7pt solid #c4973b !important;
    border-top: 3pt solid #c4622d !important;
    break-inside: avoid;
    page-break-inside: avoid;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .tp-preview-shell .tp-preview-colour .pf-place.empty {
    background: transparent !important;
    border-style: dashed !important;
    border-color: #e4d3bc !important;
    border-top-style: dashed !important;
  }

  .tp-preview-shell .tp-preview-colour .pf-person {
    color: #1e4a38 !important;
    font-family: "Cormorant Garamond", Palatino, Georgia, serif;
  }

  .tp-preview-shell .tp-preview-colour .pf-event,
  .tp-preview-shell .tp-preview-colour .pf-seat { color: #a15a32 !important;
  }

  .tp-preview-shell .tp-preview-colour .pf-sample {
    color: #7a5410 !important;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .tp-preview-shell .tp-preview-colour .pf-block h2,
  .tp-preview-shell .tp-preview-colour .pf-block h3 { break-after: avoid; page-break-after: avoid;
  }

  .tp-preview-shell .tp-preview-colour .pf-sheet {
    break-before: page;
    page-break-before: always;
  }

  .tp-preview-shell .tp-preview-colour .ph-visual .pf-block table th,
  .tp-preview-shell .tp-preview-colour .ph-visual .pf-block table td {
    border-bottom: 0.4pt solid #eadfce;
    padding: 3pt 4pt;
  }

  .tp-preview-shell .tp-preview-colour .ph-visual .pf-block table th {
    color: #6e5c4e !important;
    background: #f3eadc !important;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-size: 8pt;
  }
}
