/**
 * Party tools — print / PDF (brand-aligned, readable tables)
 */
@media print {
    @page {
        margin: 14mm 16mm;
        size: A4 portrait;
    }

    html[data-pbc-print-tool='guest-list'] @page {
        size: A4 landscape;
        margin: 10mm 12mm;
    }

    /* Site & tool chrome */
    .site-header,
    .breadcrumb,
    .footer,
    .nav__utility,
    .pbc-hero,
    .pbc-partybar,
    .pbc-tools-subnav,
    .pbc-save-modal,
    .pbc-disclaimer,
    .pbc-btn,
    .pbc-icon-btn,
    .pbc-setup__actions,
    .pbc-summary__actions,
    [data-pt-saved],
    [data-pbc-saved-msg],
    .pbc-card__hint {
        display: none !important;
    }

    .pbc {
        background: #fff !important;
        padding: 0 !important;
        padding-bottom: 0 !important;
        color: #1a1a1a !important;
        font-family: Inter, system-ui, sans-serif !important;
        font-size: 10pt !important;
        line-height: 1.45 !important;
    }

    #party-tool {
        padding: 0 !important;
    }

    [data-pbc-summary-sticky] {
        position: static !important;
        top: auto !important;
    }

    /* Branded print header (injected by party-tools-print.js) */
    html.pbc-is-printing .pbc-print-sheet-header,
    .pbc-print-sheet-header {
        display: block !important;
        margin: 0 0 14px !important;
        padding: 0 0 12px !important;
        border-bottom: 2px solid #9a7560 !important;
        break-after: avoid;
        page-break-after: avoid;
    }

    .pbc-print-sheet-header__brand {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: baseline !important;
        gap: 8px 16px !important;
        margin-bottom: 6px !important;
    }

    .pbc-print-sheet-header__site {
        font-size: 9pt !important;
        font-weight: 700 !important;
        letter-spacing: 0.08em !important;
        text-transform: uppercase !important;
        color: #9a7560 !important;
    }

    .pbc-print-sheet-header__tool {
        font-family: 'Playfair Display', Georgia, serif !important;
        font-size: 18pt !important;
        font-weight: 700 !important;
        color: #1a1a1a !important;
        line-height: 1.2 !important;
    }

    .pbc-print-sheet-header__party,
    .pbc-print-sheet-header__meta {
        margin: 4px 0 0 !important;
        font-size: 10pt !important;
        color: #5c5c5c !important;
    }

    .pbc-print-sheet-header__stats {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px 20px !important;
        margin: 10px 0 0 !important;
        padding: 0 !important;
    }

    .pbc-print-sheet-header__stats > div {
        display: inline-flex !important;
        gap: 6px !important;
        align-items: baseline !important;
    }

    .pbc-print-sheet-header__stats dt {
        margin: 0 !important;
        font-size: 8pt !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.05em !important;
        color: #8a7f75 !important;
    }

    .pbc-print-sheet-header__stats dd {
        margin: 0 !important;
        font-size: 11pt !important;
        font-weight: 700 !important;
        color: #1a1a1a !important;
    }

    .pbc-print-sheet-header__date {
        margin: 8px 0 0 !important;
        font-size: 8pt !important;
        color: #8a7f75 !important;
    }

    .pbc-print-text {
        display: inline !important;
        font-size: inherit !important;
        line-height: 1.4 !important;
        color: #1a1a1a !important;
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
        white-space: normal !important;
    }

    .pbc-print-empty {
        color: #b5aea6 !important;
    }

    /* Layout */
    .pbc-layout,
    .pbc-layout--wide {
        display: block !important;
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 !important;
        gap: 0 !important;
        grid-template-columns: 1fr !important;
    }

    .pbc-main,
    .pbc-aside {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .pbc-aside {
        margin-top: 16px !important;
        break-before: auto !important;
    }

    .pbc-card {
        box-shadow: none !important;
        border: 1px solid #e8e4de !important;
        border-radius: 0 !important;
        break-inside: auto !important;
        page-break-inside: auto !important;
        margin: 0 0 14px !important;
        padding: 0 !important;
    }

    .pbc-card__title {
        font-family: 'Playfair Display', Georgia, serif !important;
        font-size: 14pt !important;
        margin: 0 0 10px !important;
    }

    /* Guest list — print live table rows that have data */
    html[data-pbc-print-tool='guest-list'] #guest-list-manager .pbc-aside {
        display: none !important;
    }

    html[data-pbc-print-tool='guest-list'] #guest-list-manager .pbc-card > .pbc-card__head {
        display: none !important;
    }

    html[data-pbc-print-tool='guest-list'] .pbc-table-wrap {
        overflow: visible !important;
        margin: 0 !important;
        width: 100% !important;
    }

    html[data-pbc-print-tool='guest-list'] .pbc-guest-table {
        width: 100% !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
        font-size: 9pt !important;
    }

    html[data-pbc-print-tool='guest-list'] .pbc-guest-table thead {
        display: table-header-group !important;
    }

    html[data-pbc-print-tool='guest-list'] .pbc-guest-table th {
        background: #f6f3f0 !important;
        color: #6b5749 !important;
        font-size: 8pt !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.04em !important;
        padding: 8px 10px !important;
        border: 1px solid #e8e4de !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    html[data-pbc-print-tool='guest-list'] .pbc-guest-table th:nth-child(1) {
        width: 4% !important;
    }

    html[data-pbc-print-tool='guest-list'] .pbc-guest-table th:nth-child(2) {
        width: 18% !important;
    }

    html[data-pbc-print-tool='guest-list'] .pbc-guest-table th:nth-child(3) {
        width: 26% !important;
    }

    html[data-pbc-print-tool='guest-list'] .pbc-guest-table th:nth-child(4) {
        width: 12% !important;
    }

    html[data-pbc-print-tool='guest-list'] .pbc-guest-table th:nth-child(5) {
        width: 5% !important;
    }

    html[data-pbc-print-tool='guest-list'] .pbc-guest-table th:nth-child(6) {
        width: 15% !important;
    }

    html[data-pbc-print-tool='guest-list'] .pbc-guest-table th:nth-child(7) {
        width: 20% !important;
    }

    html[data-pbc-print-tool='guest-list'] .pbc-guest-table th:nth-child(8),
    html[data-pbc-print-tool='guest-list'] .pbc-guest-table td:nth-child(8) {
        display: none !important;
    }

    html[data-pbc-print-tool='guest-list'] .pbc-guest-table td {
        padding: 7px 10px !important;
        border: 1px solid #e8e4de !important;
        vertical-align: top !important;
        overflow: visible !important;
        text-overflow: clip !important;
        white-space: normal !important;
        word-break: break-word !important;
    }

    html[data-pbc-print-tool='guest-list'] .pbc-guest-table__num {
        text-align: center !important;
        color: #8a7f75 !important;
        font-weight: 600 !important;
    }

    html[data-pbc-print-tool='guest-list'] .pbc-guest-print-cell--contact .pbc-print-text {
        font-size: 9pt !important;
    }

    html[data-pbc-print-tool='guest-list'] .pbc-guest-table tr {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    html[data-pbc-print-tool='guest-list'] .pbc-guest-table .pbc-input,
    html[data-pbc-print-tool='guest-list'] .pbc-guest-table select.pbc-input {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        border: none !important;
        background: transparent !important;
        padding: 2px 0 !important;
        box-shadow: none !important;
        overflow: visible !important;
        white-space: normal !important;
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
        text-overflow: clip !important;
        font-size: 9pt !important;
        color: #1a1a1a !important;
        appearance: none !important;
        -webkit-appearance: none !important;
    }

    html[data-pbc-print-tool='guest-list'] .pbc-guest-table .pbc-input::placeholder {
        color: transparent !important;
        opacity: 0 !important;
    }

    /* Timeline */
    html[data-pbc-print-tool='timeline'] #party-timeline-planner .pbc-main > .pbc-setup,
    html[data-pbc-print-tool='timeline'] .pbc-timeline-empty,
    html[data-pbc-print-tool='timeline'] .pbc-timeline-footer,
    html[data-pbc-print-tool='timeline'] .pbc-timeline-row__grip,
    html[data-pbc-print-tool='timeline'] .pbc-timeline-row__actions,
    html[data-pbc-print-tool='timeline'] #party-timeline-planner .pbc-aside {
        display: none !important;
    }

    html[data-pbc-print-tool='timeline'] .pbc-timeline-list {
        border: 1px solid #e8e4de !important;
        border-radius: 0 !important;
    }

    html[data-pbc-print-tool='timeline'] .pbc-timeline-row {
        display: grid !important;
        grid-template-columns: 72px minmax(0, 1fr) !important;
        gap: 12px !important;
        padding: 10px 12px !important;
        break-inside: avoid !important;
    }

    html[data-pbc-print-tool='timeline'] .pbc-timeline-row__time-label {
        display: none !important;
    }

    html[data-pbc-print-tool='timeline'] .pbc-timeline-row .pbc-input {
        display: block !important;
        width: 100% !important;
        border: none !important;
        background: transparent !important;
        padding: 0 !important;
        overflow: visible !important;
        white-space: normal !important;
        font-size: 9pt !important;
    }

    /* Sidebar-only calculators */
    #drink-calculator .pbc-main,
    #party-food-quantity-calculator .pbc-main,
    #party-decoration-calculator .pbc-main,
    #balloon-quantity-calculator .pbc-main,
    #venue-capacity-calculator .pbc-main {
        display: none !important;
    }

    #drink-calculator .pbc-aside,
    #party-food-quantity-calculator .pbc-aside,
    #party-decoration-calculator .pbc-aside,
    #balloon-quantity-calculator .pbc-aside,
    #venue-capacity-calculator .pbc-aside {
        margin-top: 0 !important;
    }


    /* Budget — show clean print sheet; hide interactive form */
    html[data-pbc-print-tool='budget'] #party-budget-calculator .pbc-main > .pbc-setup,
    html[data-pbc-print-tool='budget'] #party-budget-calculator .pbc-main > section.pbc-card {
        display: none !important;
    }

    html[data-pbc-print-tool='budget'] .pbc-budget-print-sheet {
        display: block !important;
    }

    html[data-pbc-print-tool='budget'] #party-budget-calculator .pbc-aside {
        display: block !important;
        margin-top: 16px !important;
        break-before: auto !important;
    }

    html[data-pbc-print-tool='budget'] #party-budget-calculator .pbc-aside .pbc-summary__actions,
    html[data-pbc-print-tool='budget'] #party-budget-calculator .pbc-aside .pbc-summary__title,
    html[data-pbc-print-tool='budget'] #party-budget-calculator .pbc-aside .pbc-summary__event,
    html[data-pbc-print-tool='budget'] #party-budget-calculator .pbc-aside .pbc-summary__total-wrap,
    html[data-pbc-print-tool='budget'] #party-budget-calculator .pbc-aside .pbc-summary__stats,
    html[data-pbc-print-tool='budget'] #party-budget-calculator .pbc-aside .pbc-summary__cap {
        display: none !important;
    }

    html[data-pbc-print-tool='budget'] .pbc-budget-print-sheet,
    html[data-pbc-print-tool='budget'] .pbc-table-wrap--budget-print {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    html[data-pbc-print-tool='budget'] .pbc-print-sheet-header__stats {
        max-width: 100% !important;
    }

    html[data-pbc-print-tool='budget'] .pbc-budget-print-table {
        width: 100% !important;
        max-width: 100% !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
        font-size: 10pt !important;
    }

    html[data-pbc-print-tool='budget'] .pbc-budget-print-table__col-label {
        width: 68% !important;
    }

    html[data-pbc-print-tool='budget'] .pbc-budget-print-table__col-amount {
        width: 32% !important;
    }

    html[data-pbc-print-tool='budget'] .pbc-budget-print-table th {
        background: #f6f3f0 !important;
        color: #6b5749 !important;
        font-size: 8pt !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        padding: 8px 10px !important;
        border: 1px solid #e8e4de !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    html[data-pbc-print-tool='budget'] .pbc-budget-print-table td {
        padding: 8px 10px !important;
        border: 1px solid #e8e4de !important;
        vertical-align: top !important;
    }

    html[data-pbc-print-tool='budget'] .pbc-budget-print-table__amount-col,
    html[data-pbc-print-tool='budget'] .pbc-budget-print-table__amount {
        text-align: right !important;
        font-weight: 700 !important;
        white-space: nowrap !important;
    }

    html[data-pbc-print-tool='budget'] .pbc-budget-print-table__label {
        width: auto !important;
        max-width: 68% !important;
        word-break: break-word !important;
    }

    html[data-pbc-print-tool='budget'] .pbc-budget-print-table__hint {
        display: block !important;
        margin-top: 3px !important;
        font-size: 8pt !important;
        font-weight: 400 !important;
        color: #5c5c5c !important;
    }

    html[data-pbc-print-tool='budget'] .pbc-budget-print-table tfoot td {
        background: #faf9f7 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    html[data-pbc-print-tool='budget'] .pbc-budget-print-table__total-row td {
        background: #f0ebe4 !important;
        font-size: 11pt !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    html[data-pbc-print-tool='budget'] .pbc-budget-print-notes {
        margin-top: 14px !important;
        padding-top: 10px !important;
        border-top: 1px solid #e8e4de !important;
    }

    html[data-pbc-print-tool='budget'] .pbc-budget-print-notes__title {
        margin: 0 0 6px !important;
        font-family: 'Playfair Display', Georgia, serif !important;
        font-size: 12pt !important;
    }

    html[data-pbc-print-tool='budget'] .pbc-chart__row {
        break-inside: avoid !important;
    }

    /* Playlist — print live table */
    html[data-pbc-print-tool='playlist'] #party-playlist-generator .pbc-aside {
        display: none !important;
    }

    html[data-pbc-print-tool='playlist'] #party-playlist-generator .pbc-card > .pbc-card__head {
        display: none !important;
    }

    html[data-pbc-print-tool='playlist'] #party-playlist-generator .pbc-setup__actions {
        display: none !important;
    }

    html[data-pbc-print-tool='playlist'] .pbc-playlist-table {
        width: 100% !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
        font-size: 9pt !important;
    }

    html[data-pbc-print-tool='playlist'] .pbc-playlist-table thead {
        display: table-header-group !important;
    }

    html[data-pbc-print-tool='playlist'] .pbc-playlist-table th {
        background: #f6f3f0 !important;
        color: #6b5749 !important;
        font-size: 8pt !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        padding: 8px 10px !important;
        border: 1px solid #e8e4de !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    html[data-pbc-print-tool='playlist'] .pbc-playlist-table th:nth-child(1) {
        width: 4% !important;
    }

    html[data-pbc-print-tool='playlist'] .pbc-playlist-table th:nth-child(2) {
        width: 28% !important;
    }

    html[data-pbc-print-tool='playlist'] .pbc-playlist-table th:nth-child(3) {
        width: 28% !important;
    }

    html[data-pbc-print-tool='playlist'] .pbc-playlist-table th:nth-child(4) {
        width: 14% !important;
    }

    html[data-pbc-print-tool='playlist'] .pbc-playlist-table th:nth-child(5) {
        width: 26% !important;
    }

    html[data-pbc-print-tool='playlist'] .pbc-playlist-table th:nth-child(6),
    html[data-pbc-print-tool='playlist'] .pbc-playlist-table td:nth-child(6) {
        display: none !important;
    }

    html[data-pbc-print-tool='playlist'] .pbc-playlist-table td {
        padding: 7px 10px !important;
        border: 1px solid #e8e4de !important;
        vertical-align: top !important;
        word-break: break-word !important;
        white-space: normal !important;
    }

    html[data-pbc-print-tool='playlist'] .pbc-playlist-table .pbc-input,
    html[data-pbc-print-tool='playlist'] .pbc-playlist-table select.pbc-input {
        display: block !important;
        width: 100% !important;
        border: none !important;
        background: transparent !important;
        padding: 2px 0 !important;
        font-size: 9pt !important;
        color: #1a1a1a !important;
        appearance: none !important;
        -webkit-appearance: none !important;
        white-space: normal !important;
        word-break: break-word !important;
    }

    html[data-pbc-print-tool='playlist'] .pbc-playlist-table .pbc-input::placeholder {
        color: transparent !important;
        opacity: 0 !important;
    }

    /* Generators */
    #party-checklist-generator .pbc-main > .pbc-setup,
    #party-theme-generator .pbc-moodboard-drop,
    #party-theme-generator .pbc-moodboard-youtube-add,
    #party-theme-generator .pbc-setup__actions,
    #party-schedule-generator .pbc-main > .pbc-setup,
    #party-favor-idea-generator .pbc-main > .pbc-setup,
    #party-cost-per-guest-calculator .pbc-main > .pbc-setup {
        display: none !important;
    }

    #seating-chart-builder .pbc-main > .pbc-setup .pbc-setup__actions {
        display: none !important;
    }

    /* Results blocks */
    .pbc-results,
    .pbc-output,
    .pbc-checklist,
    .pbc-mini-table,
    .pbc-result-grid,
    .pbc-section,
    .pbc-chart,
    .pbc-chart__bars,
    .pbc-table-wrap,
    .pbc-seating-grid,
    .pbc-lines,
    .pbc-custom {
        overflow: visible !important;
        max-height: none !important;
        visibility: visible !important;
    }

    .pbc-mini-table {
        width: 100% !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
        font-size: 9pt !important;
        margin: 10px 0 !important;
    }

    .pbc-mini-table th {
        background: #f6f3f0 !important;
        color: #6b5749 !important;
        font-weight: 700 !important;
        padding: 8px 10px !important;
        border: 1px solid #e8e4de !important;
        text-align: left !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .pbc-mini-table td {
        padding: 7px 10px !important;
        border: 1px solid #e8e4de !important;
        vertical-align: top !important;
        word-break: break-word !important;
        white-space: normal !important;
    }

    .pbc-mini-table th:last-child,
    .pbc-mini-table td:last-child {
        text-align: left !important;
    }

    .pbc-section__title {
        font-family: 'Playfair Display', Georgia, serif !important;
        font-size: 12pt !important;
        margin: 14px 0 8px !important;
        color: #1a1a1a !important;
    }

    .pbc-result-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 10px !important;
    }

    .pbc-result-card {
        border: 1px solid #e8e4de !important;
        background: #faf9f7 !important;
        padding: 10px !important;
        break-inside: avoid !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .pbc-result-card__value {
        font-family: 'Playfair Display', Georgia, serif !important;
        font-size: 14pt !important;
    }

    .pbc-summary__title {
        font-family: 'Playfair Display', Georgia, serif !important;
    }

    .pbc-summary__total-wrap {
        background: #5a534e !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .pbc-summary__total,
    .pbc-summary__per-guest {
        color: #fff !important;
    }

    .pbc-chart__row span[style*='width'] {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .pbc-results-list li {
        padding: 6px 0 !important;
        border-bottom: 1px solid #e8e4de !important;
    }
}

/* Screen: hide injected print blocks until print */
.pbc-print-sheet-header,
.pbc-budget-print-sheet {
    display: none !important;
}

.party-print-pack .pbc-print-sheet-header,
.party-print-pack .pbc-budget-print-sheet {
    display: block !important;
}

@media print {
    .party-print-pack__screen,
    .party-print-pack__empty,
    .site-header,
    .breadcrumb,
    .footer {
        display: none !important;
    }

    .party-print-pack {
        padding: 0 !important;
        background: #fff !important;
    }

    .party-print-pack__document {
        padding: 0 !important;
        margin: 0 !important;
    }

    .party-print-pack .pbc-print-pack-section {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        break-before: page;
        page-break-before: always;
    }

    .party-print-pack .pbc-print-pack-section:first-child {
        break-before: auto;
        page-break-before: auto;
    }

    .party-print-pack .pbc-print-sheet-header {
        display: block !important;
    }
}
