/*
Print styles
*/

@media print {
    body {
        background: #fff !important;
        color: #000 !important;
    }

    .btn,
    .site-header,
    .site-footer,
    .no-print {
        display: none !important;
    }

    .flyup-print-header {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        margin-bottom: 2rem;
        border-bottom: 1px solid #ccc;
        padding-bottom: 1rem;
    }
}

/* Step53 Phase 5 - export readiness */
.flyup-print-actions {
    display: flex;
    justify-content: flex-end;
    margin: 0 0 1rem;
}

.flyup-print-content--ai .flyup-report-actions,
.flyup-print-content--ai .ai-report-toolbar,
.flyup-print-content--ai .ai-edit-notice {
    display: none !important;
}

@media print {
    .no-print,
    .flyup-print-actions,
    .site-header,
    .site-footer,
    .flyup-dashboard-sidebar,
    .flyup-dashboard-mobile-page-back {
        display: none !important;
    }

    .flyup-print-view--report details.flyup-ai-accordion {
        display: block !important;
    }

    .flyup-print-view--report details.flyup-ai-accordion:not([open]) > *:not(summary) {
        display: block !important;
    }

    .flyup-print-view--report .flyup-ai-accordion__content {
        display: block !important;
    }
}

/* Step53 Phase 8 - premium A4 PDF export */
.flyup-print-view--report {
    max-width: 980px;
    margin: 0 auto;
    color: #0f172a;
}

.flyup-print-cover {
    margin: 0 0 1.5rem;
    padding: 2rem;
    border-radius: 24px;
    background: linear-gradient(135deg, #0f172a, #10213c 55%, #0ea5e9);
    color: #fff;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.18);
}

.flyup-print-cover__badge {
    display: inline-flex;
    align-items: center;
    padding: 0.45rem 0.8rem;
    border-radius: 999px;
    background: rgba(255,255,255,0.14);
    border: 1px solid rgba(255,255,255,0.24);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.flyup-print-cover h1 {
    margin: 0.85rem 0 0.9rem;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.03;
    letter-spacing: -0.035em;
}

.flyup-print-cover__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.flyup-print-cover__meta span {
    display: inline-flex;
    padding: 0.42rem 0.75rem;
    border-radius: 999px;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.18);
    color: rgba(255,255,255,0.9);
    font-weight: 700;
}

.flyup-print-content--ai details.flyup-ai-accordion {
    break-inside: avoid;
    page-break-inside: avoid;
}

.flyup-print-content--ai .flyup-ai-accordion__content,
.flyup-print-content--ai details.flyup-ai-accordion[open] > *:not(summary) {
    display: block !important;
}

@media print {
    @page {
        size: A4;
        margin: 11mm;
    }

    html,
    body {
        font-family: Calibri, Arial, sans-serif !important;
        font-size: 11pt !important;
        line-height: 1.45 !important;
        background: #fff !important;
        color: #0f172a !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .flyup-page,
    .flyup-export-page,
    .container,
    .flyup-print-view--report {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .flyup-print-cover {
        margin-bottom: 12mm !important;
        padding: 16mm 12mm !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        page-break-after: avoid;
    }

    .flyup-print-cover h1 {
        font-size: 26pt !important;
    }

    .flyup-print-content--ai .card,
    .flyup-print-content--ai .flyup-ai-accordion,
    .flyup-print-content--ai .ai-generated-day,
    .flyup-print-content--ai article {
        box-shadow: none !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .flyup-print-content--ai a[href]::after {
        content: '' !important;
    }
}


/* Step53 phase16q - compact premium PDF helpers */
@media print {
    .ai-generated-report .ai-generated-place__links a {
        text-decoration: none !important;
        border: 1px solid #cbd5e1 !important;
        border-radius: 999px !important;
        padding: 4px 8px !important;
        color: #0f172a !important;
        display: inline-block !important;
    }

    .ai-generated-report .ai-generated-place__verification {
        display: none !important;
    }
}

/* Step53 phase16r - compact premium PDF, cleaner export */
@media print {
    @page {
        size: A4;
        margin: 7mm 8mm;
    }

    .flyup-print-header,
    .flyup-report-view__header,
    .site-header,
    .site-footer,
    .flyup-dashboard-sidebar,
    .flyup-dashboard-mobile-page-back,
    .flyup-print-actions,
    .no-print {
        display: none !important;
    }

    html,
    body {
        font-size: 9.4pt !important;
        line-height: 1.22 !important;
    }

    .flyup-print-cover {
        margin: 0 0 4mm !important;
        padding: 7mm 7mm !important;
        border-radius: 5mm !important;
        page-break-after: avoid !important;
    }

    .flyup-print-cover h1 {
        font-size: 18pt !important;
        line-height: 1.08 !important;
        margin: 3mm 0 !important;
    }

    .flyup-print-cover__badge,
    .flyup-print-cover__meta span {
        padding: 2mm 3mm !important;
        font-size: 8.5pt !important;
    }

    .flyup-print-content--ai .card,
    .flyup-print-content--ai .ai-generated-report {
        padding: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .flyup-print-content--ai details.flyup-ai-accordion,
    .flyup-print-content--ai .ai-generated-day,
    .flyup-print-content--ai article {
        break-inside: auto !important;
        page-break-inside: auto !important;
    }

    .flyup-print-content--ai .flyup-ai-accordion {
        margin: 0 0 3mm !important;
        border-radius: 3mm !important;
    }

    .flyup-print-content--ai .flyup-ai-accordion__summary,
    .flyup-print-content--ai summary {
        padding: 2.4mm 3mm !important;
        font-size: 11pt !important;
        line-height: 1.15 !important;
    }

    .flyup-print-content--ai .flyup-ai-accordion__content {
        padding: 2.5mm !important;
    }

    .flyup-print-content--ai .ai-generated-day {
        gap: 2mm !important;
    }

    .flyup-print-content--ai .ai-generated-day > p,
    .flyup-print-content--ai .ai-generated-subsection,
    .flyup-print-content--ai .ai-generated-place,
    .flyup-print-content--ai .ai-generated-option,
    .flyup-print-content--ai .ai-generated-transition,
    .flyup-print-content--ai .ai-generated-hotel-start,
    .flyup-print-content--ai .ai-generated-hotel-return,
    .flyup-print-content--ai .ai-generated-grid > article {
        padding: 2mm !important;
        margin: 0 0 2mm !important;
        border-radius: 3mm !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .flyup-print-content--ai h2,
    .flyup-print-content--ai h3,
    .flyup-print-content--ai h4,
    .flyup-print-content--ai p,
    .flyup-print-content--ai ul,
    .flyup-print-content--ai ol {
        margin-top: 0 !important;
        margin-bottom: 1.5mm !important;
    }

    .flyup-print-content--ai h4 {
        font-size: 10.6pt !important;
        line-height: 1.15 !important;
    }

    .flyup-print-content--ai .ai-generated-meta-list {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 1.5mm !important;
        margin: 0 !important;
    }

    .flyup-print-content--ai .ai-generated-meta-list li {
        padding: 1.6mm 2mm !important;
        border-radius: 2.5mm !important;
    }

    .flyup-print-content--ai .ai-generated-grid {
        gap: 2mm !important;
    }

    .flyup-print-content--ai .ai-generated-place__links a {
        padding: 1.6mm 2.5mm !important;
        font-size: 8.8pt !important;
    }

    .flyup-print-content--ai .ai-generated-place__verification,
    .flyup-print-content--ai .ai-generated-place__reviews {
        display: none !important;
    }

    .flyup-print-content--ai a[href]::after {
        content: '' !important;
    }
}

/* Step53 phase16r-b - avoid large blank areas between printed cards */
@media print {
    .flyup-print-content--ai .ai-generated-subsection,
    .flyup-print-content--ai .ai-generated-place,
    .flyup-print-content--ai .ai-generated-option,
    .flyup-print-content--ai .ai-generated-transition,
    .flyup-print-content--ai .ai-generated-hotel-start,
    .flyup-print-content--ai .ai-generated-hotel-return,
    .flyup-print-content--ai .ai-generated-day > p {
        break-inside: auto !important;
        page-break-inside: auto !important;
    }
}

/* Step53 phase16AU - export web margins and premium book-style PDF cover */
.flyup-export-page .container {
    max-width: 1080px;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}

.flyup-export-page .flyup-print-view--report {
    max-width: 1040px;
    padding-bottom: 2rem;
}

.flyup-export-page .flyup-print-content--ai {
    margin-top: 1rem;
    padding: 1.25rem;
    border: 1px solid var(--border, #dbe7f3);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(15,23,42,0.06);
}

.flyup-print-cover__logo {
    display: block;
    width: min(230px, 56vw);
    height: auto;
    margin: 0 auto 1.5rem;
    padding: 0.65rem 0.9rem;
    border-radius: 18px;
    background: rgba(255,255,255,0.95);
    box-shadow: 0 18px 45px rgba(15,23,42,0.16);
}

.flyup-print-cover__subtitle {
    max-width: 620px;
    margin: 0.5rem auto 1.35rem;
    color: rgba(255,255,255,0.84);
    font-size: 1.05rem;
    line-height: 1.55;
}

@media print {
    .flyup-export-page > .container > h1 {
        display: none !important;
    }

    .flyup-export-page .flyup-print-content--ai {
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .flyup-print-cover {
        min-height: 248mm !important;
        margin: 0 !important;
        padding: 18mm 16mm !important;
        border-radius: 0 !important;
        page-break-after: always !important;
        break-after: page !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        background:
            radial-gradient(circle at 78% 82%, rgba(14,165,233,0.72), transparent 34%),
            linear-gradient(135deg, #0f172a 0%, #10213c 58%, #0ea5e9 100%) !important;
    }

    .flyup-print-cover__logo {
        display: block !important;
        width: 58mm !important;
        max-width: 58mm !important;
        height: auto !important;
        margin: 0 auto 14mm !important;
        padding: 4mm 5mm !important;
        border-radius: 5mm !important;
        background: rgba(255,255,255,0.96) !important;
    }

    .flyup-print-cover__badge {
        margin-bottom: 7mm !important;
        padding: 2.4mm 4mm !important;
        font-size: 8.5pt !important;
    }

    .flyup-print-cover h1 {
        max-width: 170mm !important;
        margin: 0 auto 6mm !important;
        font-size: 30pt !important;
        line-height: 1.08 !important;
        color: #fff !important;
    }

    .flyup-print-cover__subtitle {
        max-width: 150mm !important;
        margin: 0 auto 9mm !important;
        color: rgba(255,255,255,0.86) !important;
        font-size: 12pt !important;
        line-height: 1.45 !important;
    }

    .flyup-print-cover__meta {
        justify-content: center !important;
    }
}

/* Step53 phase16CJ - editorial client PDF layout */
.flyup-editorial-report {
    max-width: 960px;
    margin: 0 auto;
    color: #1a1a1a;
    font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Calibri", Arial, sans-serif;
    line-height: 1.45;
}

.flyup-editorial-cover {
    margin: 0 0 18px;
    padding: 0 0 12px;
    border-bottom: 2px solid #0f2a44;
    background: #fff;
    color: #0f172a;
    box-shadow: none;
    border-radius: 0;
}

.flyup-editorial-cover__kicker {
    margin: 0 0 6px;
    color: #64748b;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.flyup-editorial-cover h1 {
    margin: 0 0 8px;
    color: #0f2a44;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.05;
    letter-spacing: -0.03em;
}

.flyup-editorial-cover__subtitle {
    margin: 0 0 12px;
    color: #475569;
    font-weight: 700;
}

.flyup-editorial-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 16px;
    margin: 12px 0 0;
    padding: 12px;
    border-radius: 8px;
    background: #f8fafc;
    color: #334155;
    font-size: 0.92rem;
}

.flyup-editorial-section,
.flyup-editorial-day {
    margin: 18px 0;
}

.flyup-editorial-section h2,
.flyup-editorial-day h2 {
    margin: 18px 0 8px;
    padding-left: 10px;
    border-left: 4px solid #0f2a44;
    color: #1e3a5f;
    font-size: 1.25rem;
    line-height: 1.2;
}

.flyup-editorial-day__intro {
    margin: 0 0 10px;
    color: #334155;
}

.flyup-editorial-compact-list {
    margin: 6px 0;
    padding-left: 18px;
}

.flyup-editorial-compact-list li {
    margin: 3px 0;
}

.flyup-editorial-warning,
.flyup-editorial-tip,
.flyup-editorial-score {
    margin: 10px 0;
    padding: 10px 12px;
    border-radius: 8px;
}

.flyup-editorial-warning {
    border-left: 4px solid #f59e0b;
    background: #fff8e6;
    color: #3f2a00;
}

.flyup-editorial-tip {
    border-left: 4px solid #10b981;
    background: #ecfdf5;
    color: #064e3b;
}

.flyup-editorial-score {
    text-align: center;
    background: #eef2ff;
    color: #1e1b4b;
}

.flyup-editorial-schedule,
.flyup-editorial-budget-table {
    width: 100%;
    margin: 10px 0;
    border-collapse: collapse;
    font-size: 0.92rem;
}

.flyup-editorial-schedule th,
.flyup-editorial-schedule td,
.flyup-editorial-budget-table th,
.flyup-editorial-budget-table td {
    padding: 8px 10px;
    border: 1px solid #cbd5e1;
    vertical-align: top;
    text-align: left;
}

.flyup-editorial-schedule th,
.flyup-editorial-budget-table th {
    background: #f0f4f8;
    color: #0f172a;
    font-weight: 800;
}

.flyup-editorial-schedule td:first-child {
    width: 18%;
    font-weight: 700;
    color: #334155;
}

.flyup-editorial-schedule td:nth-child(2) {
    width: 25%;
    font-weight: 700;
}

.flyup-editorial-budget-table th {
    width: 34%;
}

.flyup-editorial-day__extras {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(260px, 0.9fr);
    gap: 12px;
    align-items: start;
}

.flyup-editorial-day__extras .flyup-editorial-tip,
.flyup-editorial-day__extras .flyup-editorial-score,
.flyup-editorial-day__extras .flyup-editorial-small {
    grid-column: 1 / -1;
}

.flyup-editorial-small {
    margin: 6px 0;
    color: #475569;
    font-size: 0.92rem;
}

.flyup-editorial-two-col {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.flyup-editorial-final {
    break-inside: avoid;
    page-break-inside: avoid;
}

.flyup-editorial-footer {
    margin-top: 24px;
    padding-top: 10px;
    border-top: 1px solid #e5e7eb;
    color: #64748b;
    text-align: center;
    font-size: 0.82rem;
}

@media (max-width: 760px) {
    .flyup-editorial-meta,
    .flyup-editorial-two-col,
    .flyup-editorial-day__extras {
        grid-template-columns: 1fr;
    }
}

@media print {
    @page {
        size: A4;
        margin: 12mm;
    }

    .flyup-editorial-report {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        font-family: "Segoe UI", Calibri, Arial, sans-serif !important;
        font-size: 9.2pt !important;
        line-height: 1.35 !important;
        color: #1a1a1a !important;
        background: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .flyup-editorial-cover {
        margin: 0 0 8mm !important;
        padding: 0 0 5mm !important;
        border-bottom: 2px solid #0f2a44 !important;
        page-break-after: avoid !important;
    }

    .flyup-editorial-cover h1 {
        font-size: 20pt !important;
        color: #0f2a44 !important;
        margin: 0 0 3mm !important;
    }

    .flyup-editorial-cover__subtitle {
        color: #475569 !important;
        margin: 0 0 4mm !important;
    }

    .flyup-editorial-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 2.5mm 5mm !important;
        padding: 3mm !important;
        background: #f8fafc !important;
        font-size: 8.5pt !important;
    }

    .flyup-editorial-section,
    .flyup-editorial-day {
        margin: 5mm 0 !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .flyup-editorial-day {
        page-break-before: auto;
    }

    .flyup-editorial-section h2,
    .flyup-editorial-day h2 {
        margin: 5mm 0 2.5mm !important;
        padding-left: 3mm !important;
        border-left: 3px solid #0f2a44 !important;
        color: #1e3a5f !important;
        font-size: 13pt !important;
    }

    .flyup-editorial-schedule,
    .flyup-editorial-budget-table {
        font-size: 8.3pt !important;
        margin: 2.5mm 0 !important;
    }

    .flyup-editorial-schedule th,
    .flyup-editorial-schedule td,
    .flyup-editorial-budget-table th,
    .flyup-editorial-budget-table td {
        padding: 2mm 2.4mm !important;
        border: 1px solid #cbd5e1 !important;
    }

    .flyup-editorial-schedule th,
    .flyup-editorial-budget-table th {
        background: #f0f4f8 !important;
    }

    .flyup-editorial-warning,
    .flyup-editorial-tip,
    .flyup-editorial-score {
        padding: 2.5mm 3mm !important;
        margin: 2.5mm 0 !important;
        border-radius: 2mm !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .flyup-editorial-warning {
        background: #fff8e6 !important;
        border-left: 3px solid #f59e0b !important;
    }

    .flyup-editorial-tip {
        background: #ecfdf5 !important;
        border-left: 3px solid #10b981 !important;
    }

    .flyup-editorial-score {
        background: #eef2ff !important;
    }

    .flyup-editorial-two-col {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 5mm !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .flyup-editorial-day__extras {
        grid-template-columns: minmax(0, 1.1fr) minmax(70mm, 0.9fr) !important;
        gap: 3mm !important;
    }

    .flyup-editorial-footer {
        font-size: 7.5pt !important;
        color: #6b7280 !important;
        margin-top: 8mm !important;
        padding-top: 3mm !important;
    }
}

/* Phase16CK: editorial classes are intentionally for Export Center/PDF only. Normal mobile/tablet report view keeps the old accordion/card renderer. */

/* Phase16DP - premium PDF layout: budget-first, cover, cards, cleaner print output */
.flyup-editorial-report {
    --flyup-pdf-navy: #0f172a;
    --flyup-pdf-blue: #1e3a5f;
    --flyup-pdf-sky: #0ea5e9;
    --flyup-pdf-teal: #0f766e;
    --flyup-pdf-muted: #64748b;
    --flyup-pdf-border: #dbe7f3;
    --flyup-pdf-soft: #f8fafc;
    color: var(--flyup-pdf-navy);
}

.flyup-editorial-cover {
    position: relative;
    overflow: hidden;
    padding: 28px 30px 24px;
    border: 1px solid rgba(14, 165, 233, 0.20);
    border-bottom: 0;
    border-radius: 22px 22px 0 0;
    background:
        radial-gradient(circle at 85% 5%, rgba(14,165,233,.16), transparent 32%),
        linear-gradient(135deg, #f8fbff 0%, #eef8ff 48%, #ffffff 100%);
}

.flyup-editorial-cover::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 5px;
    background: linear-gradient(90deg, #0ea5e9, #14b8a6, #1e3a5f);
}

.flyup-editorial-cover__top {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.flyup-editorial-cover__brand {
    margin: 0 0 4px;
    color: #0284c7;
    font-size: .95rem;
    font-weight: 900;
    letter-spacing: .04em;
}

.flyup-editorial-cover__score {
    min-width: 92px;
    padding: 10px 12px;
    border: 1px solid rgba(14, 165, 233, .22);
    border-radius: 16px;
    background: rgba(255,255,255,.78);
    text-align: center;
    box-shadow: 0 12px 26px rgba(15,23,42,.08);
}

.flyup-editorial-cover__score span {
    display: block;
    color: #0f766e;
    font-size: 1.5rem;
    font-weight: 900;
    line-height: 1;
}

.flyup-editorial-cover__score small {
    display: block;
    margin-top: 4px;
    color: #64748b;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.flyup-editorial-cover h1 {
    position: relative;
    z-index: 1;
    max-width: 760px;
    font-size: clamp(2.15rem, 4vw, 3.45rem);
    letter-spacing: -0.045em;
}

.flyup-editorial-cover__subtitle {
    position: relative;
    z-index: 1;
    max-width: 760px;
}

.flyup-editorial-meta {
    position: relative;
    z-index: 1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 0;
    background: transparent;
}

.flyup-editorial-meta span {
    display: block;
    min-height: 54px;
    padding: 10px 12px;
    border: 1px solid rgba(14, 165, 233, .16);
    border-radius: 14px;
    background: rgba(255,255,255,.82);
    box-shadow: 0 8px 18px rgba(15,23,42,.045);
}

.flyup-editorial-meta strong {
    display: block;
    margin-bottom: 2px;
    color: #64748b;
    font-size: .72rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.flyup-editorial-budget-hero {
    margin: 18px 0;
    padding: 18px;
    border: 1px solid rgba(14,165,233,.18);
    border-radius: 18px;
    background: linear-gradient(135deg, #f8fafc, #eff6ff);
    break-inside: avoid;
    page-break-inside: avoid;
}

.flyup-editorial-section-heading {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

.flyup-editorial-section-heading > span {
    display: inline-grid;
    place-items: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border-radius: 14px;
    background: #e0f2fe;
}

.flyup-editorial-section-heading h2 {
    margin: 0 0 3px;
    padding: 0;
    border: 0;
    color: #0f2a44;
    font-size: 1.28rem;
}

.flyup-editorial-section-heading p {
    margin: 0;
    color: #475569;
}

.flyup-editorial-budget-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 12px 0;
}

.flyup-editorial-budget-cards div,
.flyup-editorial-card {
    padding: 12px;
    border: 1px solid rgba(203,213,225,.82);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(15,23,42,.04);
}

.flyup-editorial-budget-cards small,
.flyup-editorial-card small {
    display: block;
    margin-bottom: 4px;
    color: #64748b;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.flyup-editorial-budget-cards strong {
    display: block;
    color: #0f172a;
    font-size: 1rem;
    line-height: 1.25;
}

.flyup-editorial-budget-conclusion {
    margin: 12px 0 0;
    padding: 12px 14px;
    border-left: 4px solid #0ea5e9;
    border-radius: 12px;
    background: #fff;
    color: #0f172a;
}

.flyup-editorial-section,
.flyup-editorial-day {
    padding: 14px 16px;
    border: 1px solid rgba(219,231,243,.95);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15,23,42,.04);
}

.flyup-editorial-section h2,
.flyup-editorial-day h2 {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 0;
    padding-left: 0;
    border-left: 0;
    color: #0f2a44;
}

.flyup-editorial-schedule {
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border: 1px solid #dbe7f3;
    border-radius: 14px;
}

.flyup-editorial-schedule th,
.flyup-editorial-budget-table th {
    background: linear-gradient(180deg, #eff6ff, #eaf6ff);
}

.flyup-editorial-schedule th,
.flyup-editorial-schedule td,
.flyup-editorial-budget-table th,
.flyup-editorial-budget-table td {
    border-color: #e2e8f0;
}

.flyup-editorial-schedule a,
.flyup-editorial-traveler-kit a {
    color: #0369a1;
    font-weight: 800;
    text-decoration: none;
}

.flyup-editorial-day__extras {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px dashed #dbe7f3;
}

.flyup-editorial-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 12px 0;
}

.flyup-editorial-card h3 {
    margin: 0 0 8px;
    color: #0f2a44;
    font-size: 1rem;
}

.flyup-editorial-card p {
    margin: 4px 0;
}

.flyup-editorial-card .flyup-editorial-compact-list {
    margin-bottom: 0;
}

.flyup-editorial-final {
    border-color: rgba(20,184,166,.25);
    background: linear-gradient(135deg, #f0fdfa, #ffffff);
}

.flyup-editorial-footer {
    border-top: 1px solid #cbd5e1;
}

@media (max-width: 760px) {
    .flyup-editorial-meta,
    .flyup-editorial-budget-cards,
    .flyup-editorial-card-grid {
        grid-template-columns: 1fr;
    }
}

@media print {
    @page {
        size: A4;
        margin: 9mm 9mm 11mm;
    }

    html,
    body {
        background: #fff !important;
    }

    .flyup-editorial-report {
        font-family: Calibri, Arial, sans-serif !important;
        font-size: 8.7pt !important;
        line-height: 1.30 !important;
    }

    .flyup-editorial-cover {
        padding: 8mm 8mm 7mm !important;
        margin-bottom: 5mm !important;
        border-radius: 0 !important;
        border: 1px solid #dbe7f3 !important;
        page-break-after: avoid !important;
    }

    .flyup-editorial-cover__top {
        margin-bottom: 4mm !important;
    }

    .flyup-editorial-cover h1 {
        font-size: 22pt !important;
        line-height: 1.05 !important;
    }

    .flyup-editorial-cover__score {
        box-shadow: none !important;
        padding: 2.5mm 3mm !important;
        min-width: 20mm !important;
    }

    .flyup-editorial-cover__score span {
        font-size: 15pt !important;
    }

    .flyup-editorial-meta {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 2mm !important;
    }

    .flyup-editorial-meta span {
        min-height: auto !important;
        padding: 2.4mm !important;
        border-radius: 3mm !important;
        box-shadow: none !important;
        font-size: 8pt !important;
    }

    .flyup-editorial-budget-hero {
        padding: 4mm !important;
        margin: 4mm 0 !important;
        border-radius: 4mm !important;
        box-shadow: none !important;
    }

    .flyup-editorial-section-heading {
        gap: 2.5mm !important;
        margin-bottom: 2mm !important;
    }

    .flyup-editorial-section-heading > span {
        width: 8mm !important;
        height: 8mm !important;
        flex-basis: 8mm !important;
        border-radius: 2mm !important;
    }

    .flyup-editorial-section-heading h2 {
        font-size: 12pt !important;
        margin: 0 !important;
    }

    .flyup-editorial-budget-cards {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 2mm !important;
        margin: 2mm 0 !important;
    }

    .flyup-editorial-budget-cards div,
    .flyup-editorial-card {
        padding: 2.4mm !important;
        border-radius: 3mm !important;
        box-shadow: none !important;
    }

    .flyup-editorial-budget-cards small,
    .flyup-editorial-card small {
        font-size: 6.8pt !important;
    }

    .flyup-editorial-budget-cards strong {
        font-size: 8.4pt !important;
    }

    .flyup-editorial-budget-conclusion {
        padding: 2.4mm 3mm !important;
        margin-top: 2mm !important;
        border-radius: 2mm !important;
    }

    .flyup-editorial-section,
    .flyup-editorial-day {
        padding: 3.2mm !important;
        margin: 4mm 0 !important;
        border-radius: 3mm !important;
        box-shadow: none !important;
        break-inside: auto !important;
        page-break-inside: auto !important;
    }

    .flyup-editorial-day,
    .flyup-editorial-traveler-kit,
    .flyup-editorial-final {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .flyup-editorial-section h2,
    .flyup-editorial-day h2 {
        font-size: 12pt !important;
        margin: 0 0 2mm !important;
    }

    .flyup-editorial-day__intro {
        margin-bottom: 2.2mm !important;
    }

    .flyup-editorial-schedule,
    .flyup-editorial-budget-table {
        font-size: 7.8pt !important;
        line-height: 1.22 !important;
        border-radius: 2mm !important;
    }

    .flyup-editorial-schedule th,
    .flyup-editorial-schedule td,
    .flyup-editorial-budget-table th,
    .flyup-editorial-budget-table td {
        padding: 1.55mm 1.9mm !important;
    }

    .flyup-editorial-schedule td:first-child {
        width: 17% !important;
    }

    .flyup-editorial-schedule td:nth-child(2) {
        width: 24% !important;
    }

    .flyup-editorial-day__extras {
        grid-template-columns: minmax(0, 1fr) 58mm !important;
        gap: 2.2mm !important;
        margin-top: 2.5mm !important;
        padding-top: 2.5mm !important;
    }

    .flyup-editorial-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 2.5mm !important;
    }

    .flyup-editorial-card h3 {
        font-size: 9pt !important;
        margin-bottom: 1.6mm !important;
    }

    .flyup-editorial-small,
    .flyup-editorial-compact-list li {
        font-size: 7.8pt !important;
    }

    .flyup-editorial-footer {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: -6mm !important;
        margin: 0 !important;
        padding-top: 1.5mm !important;
        background: #fff !important;
        font-size: 7pt !important;
    }
}

/* Phase16DQ - fill first PDF page with a useful visual trip overview */
.flyup-editorial-first-page-fill {
    background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
}

.flyup-editorial-section-heading--compact {
    margin-bottom: 10px;
}

.flyup-editorial-overview-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 10px 0 12px;
}

.flyup-editorial-overview-grid div {
    min-height: 72px;
    padding: 12px 13px;
    border: 1px solid rgba(14, 165, 233, .16);
    border-radius: 15px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(15,23,42,.04);
}

.flyup-editorial-overview-grid small {
    display: block;
    margin-bottom: 5px;
    color: #64748b;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.flyup-editorial-overview-grid strong {
    display: block;
    color: #0f172a;
    font-size: .96rem;
    line-height: 1.32;
}

.flyup-editorial-highlights {
    margin: 10px 0;
    padding: 12px 14px;
    border-radius: 15px;
    background: #eefaff;
    border: 1px solid rgba(14,165,233,.16);
}

.flyup-editorial-highlights > strong,
.flyup-editorial-before-start > strong {
    display: block;
    margin-bottom: 8px;
    color: #0f2a44;
    font-size: .95rem;
}

.flyup-editorial-highlights div {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.flyup-editorial-highlights span {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid rgba(203,213,225,.9);
    color: #1e3a5f;
    font-weight: 700;
    font-size: .86rem;
}

.flyup-editorial-before-start {
    margin-top: 10px;
    padding: 12px 14px;
    border-radius: 15px;
    background: #f8fafc;
    border: 1px solid rgba(203,213,225,.9);
}

.flyup-editorial-before-start ul {
    margin: 0;
    padding-left: 18px;
    color: #334155;
}

.flyup-editorial-before-start li {
    margin: 3px 0;
}

@media print {
    .flyup-editorial-first-page-fill {
        margin-top: 3mm !important;
        padding: 4mm 5mm !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .flyup-editorial-overview-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 2.3mm !important;
        margin: 2.5mm 0 !important;
    }

    .flyup-editorial-overview-grid div {
        min-height: 15mm !important;
        padding: 2.4mm 2.7mm !important;
        border-radius: 3mm !important;
        box-shadow: none !important;
    }

    .flyup-editorial-overview-grid small {
        font-size: 6.8pt !important;
        margin-bottom: 1mm !important;
    }

    .flyup-editorial-overview-grid strong {
        font-size: 8pt !important;
        line-height: 1.22 !important;
    }

    .flyup-editorial-highlights,
    .flyup-editorial-before-start {
        margin: 2.4mm 0 0 !important;
        padding: 2.6mm 3mm !important;
        border-radius: 3mm !important;
    }

    .flyup-editorial-highlights > strong,
    .flyup-editorial-before-start > strong {
        margin-bottom: 1.5mm !important;
        font-size: 8.4pt !important;
    }

    .flyup-editorial-highlights div {
        gap: 1.4mm !important;
    }

    .flyup-editorial-highlights span {
        padding: 1.4mm 2.2mm !important;
        font-size: 7.8pt !important;
    }

    .flyup-editorial-before-start ul {
        padding-left: 4mm !important;
    }

    .flyup-editorial-before-start li {
        margin: .8mm 0 !important;
        font-size: 8pt !important;
    }
}

/* Phase16DR - PDF readability: larger print typography without changing layout logic */
@media print {
    @page {
        size: A4;
        /* Phase16DS: extra top margin prevents browser print headers from covering the first title line. */
        margin: 18mm 9mm 12mm;
    }

    html,
    body,
    .flyup-editorial-report {
        font-size: 10.2pt !important;
        line-height: 1.42 !important;
        -webkit-text-size-adjust: 100% !important;
        text-size-adjust: 100% !important;
    }

    .flyup-editorial-cover {
        padding: 8mm 8mm 7mm !important;
        margin-bottom: 5mm !important;
    }

    .flyup-editorial-cover h1 {
        font-size: 24pt !important;
        line-height: 1.08 !important;
    }

    .flyup-editorial-cover__subtitle {
        font-size: 10.5pt !important;
        line-height: 1.35 !important;
    }

    .flyup-editorial-cover__brand,
    .flyup-editorial-cover__kicker {
        font-size: 8.6pt !important;
    }

    .flyup-editorial-cover__score span {
        font-size: 16.5pt !important;
    }

    .flyup-editorial-cover__score small {
        font-size: 7.2pt !important;
    }

    .flyup-editorial-meta span {
        font-size: 9.1pt !important;
        line-height: 1.28 !important;
        padding: 2.6mm !important;
    }

    .flyup-editorial-meta strong,
    .flyup-editorial-budget-cards small,
    .flyup-editorial-card small,
    .flyup-editorial-overview-grid small {
        font-size: 7.4pt !important;
    }

    .flyup-editorial-section-heading h2,
    .flyup-editorial-section h2,
    .flyup-editorial-day h2 {
        font-size: 13.4pt !important;
        line-height: 1.22 !important;
    }

    .flyup-editorial-section-heading p,
    .flyup-editorial-day__intro,
    .flyup-editorial-warning,
    .flyup-editorial-tip,
    .flyup-editorial-score,
    .flyup-editorial-budget-conclusion,
    .flyup-editorial-card p,
    .flyup-editorial-before-start li,
    .flyup-editorial-compact-list li,
    .flyup-editorial-small {
        font-size: 9.5pt !important;
        line-height: 1.38 !important;
    }

    .flyup-editorial-budget-cards strong,
    .flyup-editorial-overview-grid strong,
    .flyup-editorial-card h3,
    .flyup-editorial-highlights > strong,
    .flyup-editorial-before-start > strong {
        font-size: 9.8pt !important;
        line-height: 1.30 !important;
    }

    .flyup-editorial-schedule,
    .flyup-editorial-budget-table {
        font-size: 9pt !important;
        line-height: 1.34 !important;
    }

    .flyup-editorial-schedule th,
    .flyup-editorial-schedule td,
    .flyup-editorial-budget-table th,
    .flyup-editorial-budget-table td {
        padding: 1.9mm 2.2mm !important;
    }

    .flyup-editorial-highlights span {
        font-size: 8.8pt !important;
        line-height: 1.25 !important;
        padding: 1.5mm 2.3mm !important;
    }

    .flyup-editorial-overview-grid div {
        min-height: 17mm !important;
    }

    .flyup-editorial-section,
    .flyup-editorial-day,
    .flyup-editorial-budget-hero,
    .flyup-editorial-first-page-fill {
        padding: 3.6mm !important;
    }

    .flyup-editorial-footer {
        font-size: 8pt !important;
        line-height: 1.25 !important;
    }
}


/* Phase16DS - print header safety spacing */
@media print {
    .flyup-editorial-report {
        padding-top: 1.5mm !important;
    }

    .flyup-editorial-day:first-of-type,
    .flyup-editorial-section:first-of-type {
        scroll-margin-top: 18mm;
    }
}

/* Phase16DT - PDF print chrome safety: keep content away from browser header/footer areas */
@media print {
    @page {
        size: A4;
        /* Large safety margins because Chrome headers/footers can still be enabled by the browser. */
        margin: 30mm 10mm 24mm !important;
    }

    html,
    body,
    .flyup-editorial-report {
        margin: 0 !important;
        padding-top: 0 !important;
    }

    .flyup-editorial-report {
        padding-top: 0 !important;
    }

    .flyup-editorial-cover,
    .flyup-editorial-budget-hero,
    .flyup-editorial-section,
    .flyup-editorial-day,
    .flyup-editorial-first-page-fill {
        break-inside: auto !important;
        page-break-inside: auto !important;
    }

    .flyup-editorial-day h2,
    .flyup-editorial-section h2 {
        padding-top: 2mm !important;
        line-height: 1.28 !important;
    }

    .flyup-editorial-day:first-of-type h2,
    .flyup-editorial-section:first-of-type h2 {
        margin-top: 4mm !important;
    }

    /* Do not place our own footer at the physical bottom. Browser footer/URL is controlled by Chrome. */
    .flyup-editorial-footer {
        position: static !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        margin-top: 10mm !important;
        padding-top: 3mm !important;
        font-size: 8pt !important;
    }
}

/* Phase16DU - PDF layout: force one itinerary day per printed page */
@media print {
    .flyup-editorial-day {
        break-before: page !important;
        page-break-before: always !important;
        break-after: page !important;
        page-break-after: always !important;
        min-height: calc(297mm - 62mm) !important;
        box-sizing: border-box !important;
    }

    .flyup-editorial-day h2 {
        margin-top: 0 !important;
        padding-top: 1mm !important;
    }

    .flyup-editorial-day .flyup-editorial-schedule {
        width: 100% !important;
        table-layout: fixed !important;
    }

    .flyup-editorial-day .flyup-editorial-schedule th:nth-child(1),
    .flyup-editorial-day .flyup-editorial-schedule td:nth-child(1) {
        width: 18% !important;
    }

    .flyup-editorial-day .flyup-editorial-schedule th:nth-child(2),
    .flyup-editorial-day .flyup-editorial-schedule td:nth-child(2) {
        width: 28% !important;
    }

    .flyup-editorial-day .flyup-editorial-schedule th:nth-child(3),
    .flyup-editorial-day .flyup-editorial-schedule td:nth-child(3) {
        width: 54% !important;
    }

    .flyup-editorial-day__extras,
    .flyup-editorial-day .flyup-editorial-budget-table,
    .flyup-editorial-day .flyup-editorial-tip,
    .flyup-editorial-day .flyup-editorial-score {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .flyup-editorial-two-col,
    .flyup-editorial-travel-kit,
    .flyup-editorial-final-summary,
    .flyup-editorial-section:not(.flyup-editorial-first-page-fill) {
        break-before: auto;
        page-break-before: auto;
    }
}

/* Phase16DV - PDF traveler kit column containment fix */
.flyup-editorial-traveler-kit .flyup-editorial-two-col,
.flyup-editorial-traveler-kit .flyup-editorial-card-grid {
    align-items: start;
}

.flyup-editorial-traveler-kit .flyup-editorial-two-col > *,
.flyup-editorial-traveler-kit .flyup-editorial-card-grid > *,
.flyup-editorial-traveler-kit p,
.flyup-editorial-traveler-kit li,
.flyup-editorial-traveler-kit a,
.flyup-editorial-traveler-kit td,
.flyup-editorial-traveler-kit th {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
}

.flyup-editorial-traveler-kit .flyup-editorial-two-col > div {
    box-sizing: border-box;
    min-width: 0;
}

@media print {
    .flyup-editorial-traveler-kit .flyup-editorial-two-col {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        column-gap: 8mm !important;
        row-gap: 4mm !important;
        align-items: start !important;
    }

    .flyup-editorial-traveler-kit .flyup-editorial-two-col > div {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .flyup-editorial-traveler-kit h3 {
        margin: 0 0 2mm !important;
        line-height: 1.18 !important;
        break-after: avoid !important;
        page-break-after: avoid !important;
    }

    .flyup-editorial-traveler-kit p,
    .flyup-editorial-traveler-kit li {
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        hyphens: auto !important;
    }

    .flyup-editorial-traveler-kit .flyup-editorial-compact-list {
        padding-left: 4.5mm !important;
        margin-top: 1mm !important;
    }

    .flyup-editorial-traveler-kit .flyup-editorial-compact-list li {
        margin-bottom: 1mm !important;
    }
}

/* Phase16DX - PDF 10/10: let practical kit breathe and protect final summary */
@media print {
    .flyup-editorial-traveler-kit {
        break-before: page !important;
        page-break-before: always !important;
        break-inside: auto !important;
        page-break-inside: auto !important;
    }

    .flyup-editorial-traveler-kit .flyup-editorial-two-col,
    .flyup-editorial-traveler-kit table,
    .flyup-editorial-traveler-kit ul {
        break-inside: auto !important;
        page-break-inside: auto !important;
    }

    .flyup-editorial-final {
        break-before: page !important;
        page-break-before: always !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }
}


/* Phase16EB - premium report depth/layout polish */
@media print {
    .flyup-editorial-suggestions {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }
    .flyup-editorial-suggestions + .flyup-editorial-traveler-kit {
        break-before: page !important;
        page-break-before: always !important;
    }
    .flyup-editorial-traveler-kit .flyup-editorial-two-col {
        gap: 18px !important;
    }
    .flyup-editorial-traveler-kit h3 {
        margin-top: 12px !important;
        margin-bottom: 7px !important;
    }
    .flyup-editorial-traveler-kit p,
    .flyup-editorial-traveler-kit li {
        line-height: 1.55 !important;
    }
}

/* Phase16EC - final premium budget and practical kit readability polish */
.flyup-editorial-budget-gap {
    margin: 8px 0 0 !important;
    padding: 8px 10px !important;
    border-radius: 10px !important;
    background: #f0fdfa !important;
    border: 1px solid rgba(20,184,166,.25) !important;
    color: #0f172a !important;
    font-size: 10.8px !important;
    line-height: 1.45 !important;
}

@media print {
    .flyup-editorial-budget-gap {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .flyup-editorial-traveler-kit {
        padding: 18px 20px !important;
    }

    .flyup-editorial-traveler-kit h3 {
        padding-top: 6px !important;
        border-top: 1px solid rgba(148,163,184,.28) !important;
    }

    .flyup-editorial-traveler-kit h3:first-of-type {
        border-top: 0 !important;
    }

    .flyup-editorial-traveler-kit table,
    .flyup-editorial-traveler-kit .flyup-editorial-two-col {
        margin-top: 8px !important;
        margin-bottom: 14px !important;
    }
}

/* Phase16ED - cover client choices paragraph */
.flyup-editorial-client-choices {
    position: relative;
    z-index: 1;
    margin: 12px 0 0;
    padding: 10px 12px;
    border: 1px solid rgba(14, 165, 233, .18);
    border-radius: 14px;
    background: rgba(255,255,255,.82);
    color: #334155;
    font-size: .86rem;
    line-height: 1.45;
}

@media print {
    .flyup-editorial-client-choices {
        font-size: 10.8px !important;
        line-height: 1.45 !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }
}

/* Phase16EE - final semantic cleanup, client choices grid and compact suggestions */
.flyup-editorial-client-choices h2 {
    margin: 0 0 8px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    color: #0f172a !important;
}
.flyup-editorial-client-choices__grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px 8px !important;
}
.flyup-editorial-client-choices__grid > div {
    min-width: 0 !important;
    padding: 6px 8px !important;
    border-radius: 9px !important;
    background: rgba(241,245,249,.85) !important;
    border: 1px solid rgba(203,213,225,.75) !important;
}
.flyup-editorial-client-choices__grid strong {
    display: block !important;
    margin-bottom: 2px !important;
    font-size: 9px !important;
    line-height: 1.1 !important;
    text-transform: uppercase !important;
    letter-spacing: .02em !important;
    color: #0f172a !important;
}
.flyup-editorial-client-choices__grid span {
    display: block !important;
    font-size: 10.2px !important;
    line-height: 1.25 !important;
    color: #334155 !important;
    overflow-wrap: anywhere !important;
}
.flyup-editorial-suggestions--compact {
    padding: 10px 12px !important;
}
.flyup-editorial-suggestion-chips {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
}
.flyup-editorial-suggestion-chip {
    min-width: 0 !important;
    padding: 7px 8px !important;
    border-radius: 9px !important;
    background: #f8fafc !important;
    border: 1px solid #dbe7f3 !important;
}
.flyup-editorial-suggestion-chip strong,
.flyup-editorial-suggestion-chip span,
.flyup-editorial-suggestion-chip em {
    display: block !important;
    overflow-wrap: anywhere !important;
}
.flyup-editorial-suggestion-chip strong { font-size: 10.4px !important; color: #0f172a !important; }
.flyup-editorial-suggestion-chip span { font-size: 9.8px !important; color: #475569 !important; margin-top: 2px !important; }
.flyup-editorial-suggestion-chip em { font-size: 9px !important; color: #0f766e !important; margin-top: 2px !important; }
@media print {
    .flyup-editorial-client-choices {
        margin-top: 8px !important;
        padding: 8px 10px !important;
    }
    .flyup-editorial-client-choices__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 4px 5px !important;
    }
    .flyup-editorial-client-choices__grid > div {
        padding: 4px 5px !important;
    }
    .flyup-editorial-suggestions {
        break-inside: auto !important;
        page-break-inside: auto !important;
        margin-top: 6px !important;
        margin-bottom: 6px !important;
    }
    .flyup-editorial-suggestions--compact {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }
    .flyup-editorial-suggestion-chips {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 5px !important;
    }
}

/* Phase16EF - compact cover choices + first page fit */
.flyup-editorial-client-choices--text {
    display: block !important;
    padding: 8px 10px !important;
    font-size: .82rem !important;
    line-height: 1.35 !important;
}
.flyup-editorial-client-choices--text strong {
    display: inline !important;
    margin: 0 4px 0 0 !important;
    font-size: inherit !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
.flyup-editorial-client-choices--text span {
    display: inline !important;
    color: #334155 !important;
}
@media print {
    .flyup-editorial-client-choices--text {
        padding: 2.2mm 2.8mm !important;
        margin-top: 2.4mm !important;
        font-size: 8.8pt !important;
        line-height: 1.28 !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }
    .flyup-editorial-client-choices--text strong,
    .flyup-editorial-client-choices--text span {
        font-size: 8.8pt !important;
        line-height: 1.28 !important;
    }
    .flyup-editorial-first-page-fill .flyup-editorial-before-start {
        margin-top: 2mm !important;
        padding: 2mm 2.6mm !important;
    }
    .flyup-editorial-first-page-fill .flyup-editorial-before-start ul {
        margin: 1mm 0 0 !important;
        padding-left: 4mm !important;
    }
    .flyup-editorial-first-page-fill .flyup-editorial-before-start li {
        font-size: 8.6pt !important;
        line-height: 1.22 !important;
        margin: .6mm 0 !important;
    }
}

/* Phase16EH - budget math, title and orphan suggestions PDF cleanup */
@media print {
    .flyup-editorial-suggestions,
    .flyup-editorial-suggestions--compact {
        break-before: auto !important;
        page-break-before: auto !important;
        break-inside: auto !important;
        page-break-inside: auto !important;
        margin-top: 2mm !important;
        margin-bottom: 2mm !important;
        padding-top: 2mm !important;
        padding-bottom: 2mm !important;
    }

    .flyup-editorial-suggestion-chips {
        gap: 2mm !important;
    }

    .flyup-editorial-suggestion-chip {
        padding: 2mm 2.5mm !important;
        min-height: 0 !important;
    }

    .flyup-editorial-suggestions h2 {
        font-size: 12pt !important;
        margin-bottom: 1.5mm !important;
    }

    .flyup-editorial-suggestions p,
    .flyup-editorial-suggestion-chip span,
    .flyup-editorial-suggestion-chip em {
        font-size: 8.8pt !important;
        line-height: 1.15 !important;
    }
}


/* Phase17AH - PDF orphan/title/budget variants polish */
@media print {
    .flyup-editorial-cover {
        break-after: page !important;
        page-break-after: always !important;
    }
    .flyup-editorial-cover .flyup-editorial-before-start,
    .flyup-editorial-first-page-fill .flyup-editorial-before-start {
        display: none !important;
    }
    .flyup-editorial-day {
        min-height: auto !important;
        break-before: page !important;
        page-break-before: always !important;
        break-after: page !important;
        page-break-after: always !important;
        padding-bottom: 2mm !important;
    }
    .flyup-editorial-day .flyup-editorial-schedule {
        font-size: 8.5pt !important;
        line-height: 1.14 !important;
    }
    .flyup-editorial-day .flyup-editorial-schedule th,
    .flyup-editorial-day .flyup-editorial-schedule td {
        padding: 2.2mm 2.3mm !important;
    }
    .flyup-editorial-day__budget,
    .flyup-editorial-day__score {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        margin-top: 1.4mm !important;
    }
    .flyup-editorial-suggestions,
    .flyup-editorial-suggestions--compact,
    .flyup-editorial-suggestion-chips,
    .flyup-editorial-suggestion-chip {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }
    .flyup-editorial-suggestions {
        break-before: auto !important;
        page-break-before: auto !important;
    }
}

/* Phase17AI - PDF cover top spacing and compact first page header */
@media print {
    @page {
        size: A4;
        /* Reduced after Phase16DT/17AH: keep a safe Chrome header area without pushing the cover too low. */
        margin: 14mm 9mm 14mm !important;
    }

    html,
    body,
    .flyup-editorial-report {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    .flyup-editorial-cover {
        margin-top: 0 !important;
        padding-top: 5mm !important;
        padding-bottom: 6mm !important;
        break-after: page !important;
        page-break-after: always !important;
    }

    .flyup-editorial-cover__top {
        margin-bottom: 3mm !important;
    }

    .flyup-editorial-cover h1 {
        margin-top: 2mm !important;
        margin-bottom: 3mm !important;
    }

    .flyup-editorial-cover__subtitle {
        margin-bottom: 4mm !important;
    }

    .flyup-editorial-meta {
        gap: 2mm !important;
        margin-top: 3mm !important;
    }

    .flyup-editorial-client-choices--text {
        margin-top: 3mm !important;
        padding: 2mm 2.5mm !important;
        line-height: 1.23 !important;
    }

    .flyup-editorial-budget-hero {
        break-before: page !important;
        page-break-before: always !important;
    }
}


/* Phase17AJ - merge cover + budget context on first PDF page */
@media print {
    @page {
        size: A4;
        margin: 10mm 9mm 12mm !important;
    }

    .flyup-editorial-cover {
        break-after: avoid !important;
        page-break-after: avoid !important;
        margin-top: 0 !important;
        margin-bottom: 3mm !important;
        padding: 4mm 5mm 4mm !important;
    }

    .flyup-editorial-cover__top {
        margin-bottom: 2mm !important;
    }

    .flyup-editorial-cover h1 {
        font-size: 18px !important;
        line-height: 1.18 !important;
        margin: 1.5mm 0 2mm !important;
    }

    .flyup-editorial-cover__subtitle {
        font-size: 9px !important;
        margin: 0 0 3mm !important;
    }

    .flyup-editorial-meta {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 2mm !important;
        margin-top: 2mm !important;
    }

    .flyup-editorial-meta span,
    .flyup-editorial-client-choices--text {
        font-size: 7.8px !important;
        line-height: 1.18 !important;
    }

    .flyup-editorial-client-choices--text {
        margin-top: 2.2mm !important;
        padding: 1.8mm 2.4mm !important;
    }

    .flyup-editorial-budget-hero {
        break-before: avoid !important;
        page-break-before: avoid !important;
        break-after: avoid !important;
        page-break-after: avoid !important;
        padding: 3mm 4mm !important;
        margin-top: 3mm !important;
        margin-bottom: 3mm !important;
    }

    .flyup-editorial-budget-hero h2,
    .flyup-editorial-section h2 {
        font-size: 13px !important;
        margin-bottom: 2mm !important;
    }

    .flyup-editorial-budget-intro,
    .flyup-editorial-budget-conclusion,
    .flyup-editorial-budget-gap,
    .flyup-editorial-section p {
        font-size: 8.4px !important;
        line-height: 1.28 !important;
        margin: 0 0 1.6mm !important;
    }

    .flyup-editorial-budget-grid {
        gap: 2mm !important;
        margin: 2mm 0 !important;
    }

    .flyup-editorial-budget-grid > div {
        padding: 2mm !important;
        min-height: 0 !important;
    }

    .flyup-editorial-budget-grid small {
        font-size: 6.7px !important;
    }

    .flyup-editorial-budget-grid strong {
        font-size: 9px !important;
    }

    .flyup-editorial-section {
        margin: 2.5mm 0 !important;
        padding: 3mm 3.5mm !important;
    }

    .flyup-editorial-first-page-fill {
        break-after: avoid !important;
        page-break-after: avoid !important;
    }
}

/* Phase17AU - final 9/10 PDF polish: premium cover first, cleaner footer area, stronger title rendering */
.flyup-editorial-report {
    display: block !important;
}

.flyup-editorial-cover {
    order: 1 !important;
}

.flyup-editorial-budget-hero {
    order: 2 !important;
}

@media print {
    @page {
        size: A4;
        margin: 10mm 9mm 12mm !important;
    }

    .flyup-editorial-cover {
        display: block !important;
        break-before: auto !important;
        page-break-before: auto !important;
        break-after: avoid !important;
        page-break-after: avoid !important;
        margin-top: 0 !important;
    }

    .flyup-editorial-cover h1 {
        white-space: normal !important;
        word-spacing: normal !important;
        letter-spacing: -0.01em !important;
        overflow-wrap: normal !important;
        hyphens: manual !important;
    }

    .flyup-editorial-budget-hero {
        break-before: avoid !important;
        page-break-before: avoid !important;
    }

    .flyup-editorial-footer {
        position: static !important;
        margin-top: 6mm !important;
        padding-top: 2mm !important;
        border-top: 1px solid #dbe7f3 !important;
        color: #64748b !important;
        font-size: 7.8pt !important;
        text-align: center !important;
    }
}

/* Phase17BJ - PDF navigation quality: readable client output, no raw technical status, visible zone navigation index */
.flyup-editorial-navigation-index {
    margin: 2.5mm 0;
    padding: 2.5mm 3mm;
    border: 1px solid #d9e7f4;
    border-radius: 10px;
    background: #f8fcff;
}
.flyup-editorial-navigation-index > strong {
    display: block;
    margin-bottom: 1.5mm;
    color: #0f172a;
}
.flyup-editorial-navigation-index ul {
    margin: 0;
    padding-left: 4mm;
}
.flyup-editorial-navigation-index li {
    margin: 0 0 1mm;
}
@media print {
    .flyup-editorial-report {
        font-size: 9.4pt !important;
        line-height: 1.34 !important;
    }
    .flyup-editorial-schedule,
    .flyup-editorial-budget-table,
    .flyup-editorial-compact-list,
    .flyup-editorial-small,
    .flyup-editorial-navigation-index {
        font-size: 9.2pt !important;
        line-height: 1.34 !important;
    }
    .flyup-editorial-schedule th,
    .flyup-editorial-schedule td {
        padding: 1.55mm 1.75mm !important;
        vertical-align: top !important;
    }
    .flyup-editorial-day {
        min-height: auto !important;
    }
    .flyup-editorial-day__extras {
        margin-top: 2.5mm !important;
    }
    .flyup-editorial-navigation-index {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }
}

/* ========================================================================== 
   Phase17BP - Export screen alignment from Phase17BO
   Goal: keep the Export page visually aligned with the normal FlyUp4You page,
   not with the old narrow/print-like preview. Print rules stay untouched.
   ========================================================================== */
@media screen {
    .flyup-export-screen {
        background:
            radial-gradient(circle at top left, rgba(14, 165, 233, 0.12), transparent 30%),
            radial-gradient(circle at top right, rgba(20, 184, 166, 0.10), transparent 28%),
            #eaf8ff !important;
    }

    .flyup-export-screen .site-header {
        padding: 0.75rem 0 0 !important;
    }

    .flyup-export-screen .site-header > .container,
    .flyup-export-screen .site-header__inner.container {
        width: min(calc(100% - 2rem), 1160px) !important;
        max-width: 1160px !important;
        margin-inline: auto !important;
    }

    .flyup-export-screen .site-header__inner {
        min-height: 58px !important;
        padding: 0.65rem 0.9rem !important;
        gap: 0.65rem !important;
        border-radius: 999px !important;
        flex-wrap: nowrap !important;
        overflow: visible !important;
    }

    .flyup-export-screen .site-logo--image .site-logo__image {
        width: 168px !important;
        max-width: 168px !important;
        height: auto !important;
        object-fit: contain !important;
    }

    .flyup-export-screen .site-nav {
        min-width: 0 !important;
        flex: 1 1 auto !important;
    }

    .flyup-export-screen .site-nav__menu {
        gap: clamp(0.25rem, 0.55vw, 0.65rem) !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
    }

    .flyup-export-screen .site-nav__link,
    .flyup-export-screen .site-nav__menu a {
        white-space: nowrap !important;
        font-size: clamp(0.78rem, 0.82vw, 0.92rem) !important;
        padding: 0.42rem 0.46rem !important;
    }

    .flyup-export-screen .site-actions {
        display: flex !important;
        align-items: center !important;
        flex: 0 0 auto !important;
        gap: 0.45rem !important;
        width: auto !important;
    }

    .flyup-export-screen .site-actions .btn {
        white-space: nowrap !important;
        min-height: 40px !important;
        padding: 0.62rem 0.85rem !important;
        font-size: 0.84rem !important;
    }

    .flyup-export-screen .site-lang-switcher__item {
        min-width: 34px !important;
        min-height: 32px !important;
        font-size: 0.72rem !important;
    }

    .flyup-export-page {
        padding: 2.35rem 0 4rem !important;
    }

    .flyup-export-page > .container {
        width: min(calc(100% - 2rem), 980px) !important;
        max-width: 980px !important;
        margin-inline: auto !important;
        padding: 0 !important;
    }

    .flyup-export-page > .container > h1 {
        margin: 0 0 1.35rem !important;
        color: #0f172a !important;
        font-size: clamp(1.65rem, 2.4vw, 2.2rem) !important;
        font-weight: 850 !important;
        letter-spacing: -0.025em !important;
    }

    .flyup-export-page .flyup-print-view--report {
        width: 100% !important;
        max-width: 980px !important;
        margin: 0 auto !important;
    }

    .flyup-export-page .flyup-print-actions {
        display: flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 0.55rem !important;
        margin: 0 0 1rem !important;
    }

    .flyup-export-page .flyup-print-actions .btn {
        min-height: 42px !important;
        border-radius: 999px !important;
        padding: 0.72rem 1.15rem !important;
        font-weight: 800 !important;
    }

    .flyup-export-page .flyup-editorial-report {
        background: transparent !important;
    }

    .flyup-export-page .flyup-editorial-cover,
    .flyup-export-page .flyup-editorial-section,
    .flyup-export-page .flyup-editorial-day,
    .flyup-export-page .flyup-editorial-card,
    .flyup-export-page .flyup-editorial-budget-hero {
        box-shadow: 0 18px 45px rgba(15, 23, 42, 0.055) !important;
    }
}

@media screen and (max-width: 1180px) {
    .flyup-export-screen .site-header__inner {
        flex-wrap: wrap !important;
        border-radius: 22px !important;
    }

    .flyup-export-screen .site-menu-toggle {
        display: inline-flex !important;
        order: 2 !important;
        margin-left: auto !important;
    }

    .flyup-export-screen .site-nav,
    .flyup-export-screen .site-actions {
        display: none !important;
        width: 100% !important;
    }

    .flyup-export-screen .site-header__inner.is-menu-open .site-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        order: 3 !important;
        gap: 0.65rem !important;
    }

    .flyup-export-screen .site-header__inner.is-menu-open .site-nav {
        display: block !important;
        order: 4 !important;
    }

    .flyup-export-screen .site-header__inner.is-menu-open .site-nav__menu {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.55rem !important;
        width: 100% !important;
    }
}

@media screen and (max-width: 760px) {
    .flyup-export-page {
        padding-top: 1.5rem !important;
    }

    .flyup-export-page > .container {
        width: min(calc(100% - 1.1rem), 980px) !important;
    }

    .flyup-export-page .flyup-print-actions {
        justify-content: stretch !important;
    }

    .flyup-export-page .flyup-print-actions .btn {
        flex: 1 1 100% !important;
        justify-content: center !important;
    }
}


/* =====================================================================
   STEP53 PHASE17BU — PDF critical-error + clean print route + table width fix
   This block is intentionally at the end of print.css to override older
   conflicting PDF rules accumulated during previous layout iterations.
===================================================================== */
@media print {
    @page {
        size: A4 portrait;
        margin: 10mm 8mm 11mm !important;
    }

    html,
    body {
        width: 210mm !important;
        max-width: 210mm !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        background: #ffffff !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .site-header,
    .site-footer,
    .flyup-print-actions,
    .no-print,
    .flyup-export-page > .container > h1 {
        display: none !important;
    }

    .flyup-export-page,
    .flyup-export-page > .container,
    .flyup-export-page .flyup-print-view--report,
    .flyup-export-page .flyup-editorial-report,
    .flyup-export-page .flyup-print-content--ai {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    .flyup-editorial-report {
        font-size: 9.8pt !important;
        line-height: 1.34 !important;
    }

    .flyup-editorial-cover,
    .flyup-editorial-section,
    .flyup-editorial-budget-hero,
    .flyup-editorial-day,
    .flyup-editorial-day__extras {
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    .flyup-editorial-day {
        break-before: page !important;
        page-break-before: always !important;
    }

    .flyup-editorial-day:first-of-type {
        break-before: page !important;
        page-break-before: always !important;
    }

    .flyup-editorial-schedule,
    .flyup-editorial-budget-table {
        width: 100% !important;
        max-width: 100% !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .flyup-editorial-schedule th,
    .flyup-editorial-schedule td,
    .flyup-editorial-budget-table th,
    .flyup-editorial-budget-table td {
        box-sizing: border-box !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
        hyphens: auto !important;
        padding: 1.45mm 1.55mm !important;
        vertical-align: top !important;
    }

    .flyup-editorial-day .flyup-editorial-schedule th:nth-child(1),
    .flyup-editorial-day .flyup-editorial-schedule td:nth-child(1) {
        width: 16% !important;
    }

    .flyup-editorial-day .flyup-editorial-schedule th:nth-child(2),
    .flyup-editorial-day .flyup-editorial-schedule td:nth-child(2) {
        width: 27% !important;
    }

    .flyup-editorial-day .flyup-editorial-schedule th:nth-child(3),
    .flyup-editorial-day .flyup-editorial-schedule td:nth-child(3) {
        width: 57% !important;
    }

    .flyup-editorial-schedule tr,
    .flyup-editorial-budget-table tr {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }
}


/* =====================================================================
   STEP53 PHASE17BW — A4 print geometry + clean top-level print route
   Goal: make the report fill the printable A4 area without Chrome scaling it
   down, and avoid printing from the WordPress Customizer URL.
===================================================================== */
@media print {
    @page {
        size: A4 portrait;
        margin: 6mm !important;
    }

    html,
    body {
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        background: #ffffff !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .site-header,
    .site-footer,
    .flyup-print-actions,
    .no-print,
    .flyup-export-page > .container > h1,
    .customize-partial-edit-shortcut,
    #wpadminbar {
        display: none !important;
    }

    .flyup-export-page,
    .flyup-export-page > .container,
    .flyup-export-page .flyup-print-view--report,
    .flyup-export-page .flyup-editorial-report,
    .flyup-export-page .flyup-print-content--ai {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: visible !important;
        background: #ffffff !important;
    }

    .flyup-editorial-report {
        font-size: 10.35pt !important;
        line-height: 1.32 !important;
        color: #0f172a !important;
    }

    .flyup-editorial-cover,
    .flyup-editorial-budget-hero,
    .flyup-editorial-section,
    .flyup-editorial-day,
    .flyup-editorial-card,
    .flyup-editorial-day__extras {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    .flyup-editorial-cover,
    .flyup-editorial-budget-hero,
    .flyup-editorial-section,
    .flyup-editorial-day {
        padding: 5mm !important;
        margin-bottom: 4mm !important;
        border-radius: 3mm !important;
    }

    .flyup-editorial-cover {
        padding-top: 5mm !important;
        padding-bottom: 5mm !important;
    }

    .flyup-editorial-cover h1 {
        font-size: 18pt !important;
        line-height: 1.08 !important;
        margin-bottom: 3mm !important;
    }

    .flyup-editorial-meta {
        gap: 2.4mm !important;
    }

    .flyup-editorial-meta > div,
    .flyup-editorial-budget-cards > div,
    .flyup-editorial-overview-grid > div {
        padding: 2.6mm !important;
    }

    .flyup-editorial-day {
        break-before: page !important;
        page-break-before: always !important;
    }

    .flyup-editorial-day:first-of-type {
        break-before: page !important;
        page-break-before: always !important;
    }

    .flyup-editorial-schedule,
    .flyup-editorial-budget-table,
    .flyup-editorial-report table {
        width: 100% !important;
        max-width: 100% !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .flyup-editorial-schedule {
        font-size: 8.55pt !important;
        line-height: 1.22 !important;
    }

    .flyup-editorial-schedule th,
    .flyup-editorial-schedule td,
    .flyup-editorial-budget-table th,
    .flyup-editorial-budget-table td,
    .flyup-editorial-report table th,
    .flyup-editorial-report table td {
        box-sizing: border-box !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
        hyphens: auto !important;
        padding: 1.35mm 1.45mm !important;
        vertical-align: top !important;
    }

    .flyup-editorial-day .flyup-editorial-schedule th:nth-child(1),
    .flyup-editorial-day .flyup-editorial-schedule td:nth-child(1) {
        width: 13.5% !important;
    }

    .flyup-editorial-day .flyup-editorial-schedule th:nth-child(2),
    .flyup-editorial-day .flyup-editorial-schedule td:nth-child(2) {
        width: 24.5% !important;
    }

    .flyup-editorial-day .flyup-editorial-schedule th:nth-child(3),
    .flyup-editorial-day .flyup-editorial-schedule td:nth-child(3) {
        width: 62% !important;
    }

    .flyup-editorial-schedule tr,
    .flyup-editorial-budget-table tr {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .flyup-editorial-report a[href]::after,
    .flyup-export-page a[href]::after {
        content: '' !important;
    }
}

/* =====================================================================
   STEP53 PHASE17BX — Alternative GSM / Tablet report views
   Based on the two provided HTML layouts, adapted to FlyUp4You theme.
===================================================================== */
@media screen {
    .flyup-export-alt-screen .flyup-export-page > .container {
        width: min(calc(100% - 2rem), 1500px) !important;
        max-width: 1500px !important;
    }

    .flyup-alt-report {
        --alt-navy: #0f172a;
        --alt-cyan: #0ea5e9;
        --alt-teal: #14b8a6;
        --alt-border: rgba(14,165,233,0.18);
        --alt-soft: rgba(240,249,255,0.92);
        color: var(--alt-navy);
        margin: 0 auto 4rem;
    }

    .flyup-alt-report--gsm-qwen {
        max-width: 440px;
        padding: 0.85rem;
        border-radius: 32px;
        background: linear-gradient(180deg, rgba(14,165,233,0.15), rgba(20,184,166,0.10));
        box-shadow: 0 26px 70px rgba(15,23,42,0.16);
    }

    .flyup-alt-report--tablet-deepseek {
        max-width: 1040px;
        padding: 1.35rem;
        border-radius: 34px;
        background: linear-gradient(135deg, rgba(240,249,255,0.96), rgba(236,253,245,0.92));
        box-shadow: 0 28px 80px rgba(15,23,42,0.14);
    }

    .flyup-alt-report__hero,
    .flyup-alt-report__section,
    .flyup-alt-report__day {
        position: relative;
        overflow: hidden;
        border: 1px solid var(--alt-border);
        background: rgba(255,255,255,0.88);
        border-radius: 26px;
        box-shadow: 0 18px 45px rgba(15,23,42,0.07);
        backdrop-filter: blur(12px);
    }

    .flyup-alt-report__hero {
        padding: clamp(1.25rem, 2.2vw, 2rem);
        background: radial-gradient(circle at 82% 8%, rgba(56,189,248,0.28), transparent 32%), linear-gradient(135deg, #ffffff 0%, #effaff 55%, #f0fdfa 100%);
        margin-bottom: 1rem;
    }

    .flyup-alt-report__brand {
        font-weight: 950;
        color: #0284c7;
        letter-spacing: -0.04em;
        font-size: 1.05rem;
        margin-bottom: 1.1rem;
    }

    .flyup-alt-report__score {
        position: absolute;
        top: 1rem;
        right: 1rem;
        display: grid;
        place-items: center;
        min-width: 74px;
        min-height: 64px;
        padding: 0.55rem 0.8rem;
        border-radius: 18px;
        background: rgba(255,255,255,0.92);
        color: #0f766e;
        font-size: 1.35rem;
        font-weight: 950;
        box-shadow: 0 14px 32px rgba(15,23,42,0.08);
    }

    .flyup-alt-report__score span {
        display: block;
        margin-top: 0.1rem;
        color: #64748b;
        font-size: 0.58rem;
        text-transform: uppercase;
        letter-spacing: 0.045em;
    }

    .flyup-alt-report__kicker {
        display: inline-flex;
        align-items: center;
        min-height: 30px;
        padding: 0.34rem 0.75rem;
        border-radius: 999px;
        color: #0284c7;
        background: rgba(14,165,233,0.10);
        border: 1px solid rgba(14,165,233,0.16);
        font-size: 0.78rem;
        font-weight: 850;
        margin-bottom: 0.9rem;
    }

    .flyup-alt-report h1 {
        max-width: 13ch;
        margin: 0 0 0.7rem;
        font-size: clamp(1.85rem, 4vw, 3.1rem);
        line-height: 0.98;
        letter-spacing: -0.055em;
    }

    .flyup-alt-report--tablet-deepseek h1 {
        max-width: 18ch;
    }

    .flyup-alt-report__hero p,
    .flyup-alt-report__section p,
    .flyup-alt-report__day p {
        color: #334155;
        line-height: 1.65;
    }

    .flyup-alt-report__meta-grid,
    .flyup-alt-report__budget-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.7rem;
        margin-top: 1.1rem;
    }

    .flyup-alt-report--tablet-deepseek .flyup-alt-report__meta-grid,
    .flyup-alt-report--tablet-deepseek .flyup-alt-report__budget-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .flyup-alt-report__meta-grid article,
    .flyup-alt-report__budget-grid article,
    .flyup-alt-report__activity {
        border: 1px solid rgba(14,165,233,0.14);
        border-radius: 18px;
        background: rgba(255,255,255,0.82);
    }

    .flyup-alt-report__meta-grid article,
    .flyup-alt-report__budget-grid article {
        padding: 0.75rem 0.85rem;
    }

    .flyup-alt-report__meta-grid span,
    .flyup-alt-report__budget-grid span {
        display: block;
        margin-bottom: 0.28rem;
        color: #64748b;
        text-transform: uppercase;
        letter-spacing: 0.055em;
        font-size: 0.68rem;
        font-weight: 850;
    }

    .flyup-alt-report__meta-grid strong,
    .flyup-alt-report__budget-grid strong {
        display: block;
        color: #0f172a;
        font-size: 0.96rem;
        line-height: 1.3;
    }

    .flyup-alt-report__section,
    .flyup-alt-report__day {
        padding: clamp(1rem, 2vw, 1.55rem);
        margin-top: 1rem;
    }

    .flyup-alt-report__section h2,
    .flyup-alt-report__day h2 {
        margin: 0 0 0.8rem;
        font-size: clamp(1.1rem, 2vw, 1.55rem);
        line-height: 1.16;
        letter-spacing: -0.03em;
    }

    .flyup-alt-report__tags {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
        margin-top: 0.9rem;
    }

    .flyup-alt-report__tags span {
        display: inline-flex;
        padding: 0.38rem 0.7rem;
        border-radius: 999px;
        background: rgba(14,165,233,0.10);
        color: #0369a1;
        font-weight: 800;
        font-size: 0.75rem;
    }

    .flyup-alt-report__day-head {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 1rem;
        padding-bottom: 0.9rem;
        margin-bottom: 0.9rem;
        border-bottom: 2px solid rgba(14,165,233,0.16);
    }

    .flyup-alt-report__day-head > strong {
        flex: 0 0 auto;
        padding: 0.48rem 0.75rem;
        border-radius: 999px;
        color: #0f766e;
        background: rgba(20,184,166,0.10);
        border: 1px solid rgba(20,184,166,0.16);
        font-size: 0.86rem;
    }

    .flyup-alt-report__activity {
        padding: 0.95rem;
        margin-top: 0.75rem;
        border-left: 4px solid #0ea5e9;
        box-shadow: 0 10px 24px rgba(15,23,42,0.04);
    }

    .flyup-alt-report__time {
        display: inline-flex;
        align-items: center;
        min-height: 28px;
        padding: 0.28rem 0.65rem;
        border-radius: 999px;
        color: #fff;
        background: linear-gradient(135deg, #0ea5e9, #14b8a6);
        font-weight: 900;
        font-size: 0.73rem;
        margin-bottom: 0.55rem;
    }

    .flyup-alt-report__activity h3 {
        margin: 0 0 0.55rem;
        color: #0f172a;
        font-size: 1rem;
        line-height: 1.28;
    }

    .flyup-alt-report__activity ul {
        margin: 0;
        padding-left: 1.05rem;
        color: #334155;
        line-height: 1.52;
        font-size: 0.9rem;
    }

    .flyup-alt-report__activity li + li {
        margin-top: 0.28rem;
    }

    .flyup-alt-report__note {
        margin-top: 1rem;
        padding: 0.85rem 1rem;
        border-radius: 16px;
        background: linear-gradient(135deg, rgba(20,184,166,0.10), rgba(14,165,233,0.08));
        border: 1px solid rgba(20,184,166,0.16);
    }

    .flyup-alt-report--tablet-deepseek .flyup-alt-report__day {
        display: grid;
        grid-template-columns: 1fr;
    }

    .flyup-alt-report--tablet-deepseek .flyup-alt-report__activity {
        display: grid;
        grid-template-columns: 120px 1fr;
        gap: 0 1rem;
        align-items: start;
    }

    .flyup-alt-report--tablet-deepseek .flyup-alt-report__time {
        grid-row: span 2;
        justify-content: center;
        width: 100%;
    }
}

@media screen and (max-width: 760px) {
    .flyup-export-alt-screen .flyup-export-page > .container {
        width: min(calc(100% - 0.8rem), 100%) !important;
    }
    .flyup-alt-report,
    .flyup-alt-report--gsm-qwen,
    .flyup-alt-report--tablet-deepseek {
        max-width: 100%;
        padding: 0.55rem;
        border-radius: 24px;
    }
    .flyup-alt-report__meta-grid,
    .flyup-alt-report__budget-grid,
    .flyup-alt-report--tablet-deepseek .flyup-alt-report__meta-grid,
    .flyup-alt-report--tablet-deepseek .flyup-alt-report__budget-grid {
        grid-template-columns: 1fr;
    }
    .flyup-alt-report--tablet-deepseek .flyup-alt-report__activity {
        display: block;
    }
    .flyup-alt-report__score {
        position: static;
        width: max-content;
        min-width: 0;
        min-height: 0;
        margin-bottom: 1rem;
    }
}

@media print {
    .flyup-alt-report {
        max-width: none !important;
        padding: 0 !important;
        box-shadow: none !important;
        background: #fff !important;
    }
    .flyup-alt-report__hero,
    .flyup-alt-report__section,
    .flyup-alt-report__day,
    .flyup-alt-report__activity {
        break-inside: avoid-page;
        box-shadow: none !important;
    }
}

/* =====================================================================
   STEP53 PHASE17BY — Responsive report views must keep PDF content parity
   The GSM / Tablet modes reuse the official print renderer. This CSS adapts
   only presentation and never hides report content.
===================================================================== */
@media screen {
    body.flyup-export-alt-screen .flyup-export-page > .container {
        width: min(calc(100% - 1rem), 1780px) !important;
        max-width: 1780px !important;
    }

    body.flyup-export-alt-screen .flyup-export-page > .container > h1 {
        display: none !important;
    }

    .flyup-responsive-report-shell {
        width: 100%;
        margin-inline: auto;
    }

    .flyup-responsive-report-modebar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        width: 100%;
        max-width: 1220px;
        margin: 0 auto 1rem;
        padding: 0.75rem 0.9rem;
        border: 1px solid rgba(56,189,248,0.22);
        border-radius: 18px;
        background: rgba(255,255,255,0.84);
        box-shadow: 0 14px 34px rgba(15,23,42,0.06);
        backdrop-filter: blur(12px);
        color: #0f172a;
        font-size: 0.9rem;
        font-weight: 700;
    }

    .flyup-responsive-report-modebar > div {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: wrap;
        gap: 0.45rem;
    }

    .flyup-responsive-report-modebar a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 38px;
        padding: 0.52rem 0.82rem;
        border-radius: 999px;
        border: 1px solid rgba(14,165,233,0.22);
        background: rgba(255,255,255,0.92);
        color: #0f172a;
        text-decoration: none;
        font-size: 0.84rem;
        font-weight: 800;
        white-space: nowrap;
    }

    .flyup-responsive-report-modebar a.is-active {
        background: linear-gradient(135deg, #0ea5e9, #14b8a6);
        border-color: transparent;
        color: #fff;
        box-shadow: 0 10px 24px rgba(14,165,233,0.18);
    }

    .flyup-responsive-report-shell .flyup-print-view--report {
        margin-inline: auto !important;
    }

    .flyup-responsive-report-shell--tablet-deepseek .flyup-print-view--report,
    .flyup-responsive-report-shell--tablet-deepseek .flyup-editorial-report {
        width: min(100%, 1040px) !important;
        max-width: 1040px !important;
        font-size: 15.5px !important;
        line-height: 1.55 !important;
    }

    .flyup-responsive-report-shell--tablet-deepseek .flyup-editorial-cover,
    .flyup-responsive-report-shell--tablet-deepseek .flyup-editorial-section,
    .flyup-responsive-report-shell--tablet-deepseek .flyup-editorial-budget-hero,
    .flyup-responsive-report-shell--tablet-deepseek .flyup-editorial-day {
        border-radius: 22px !important;
        padding: clamp(1.2rem, 2vw, 1.85rem) !important;
    }

    .flyup-responsive-report-shell--tablet-deepseek .flyup-editorial-cover h1 {
        font-size: clamp(2.1rem, 4.5vw, 3.35rem) !important;
        line-height: 1.05 !important;
    }

    .flyup-responsive-report-shell--tablet-deepseek .flyup-editorial-schedule {
        table-layout: fixed !important;
        width: 100% !important;
    }

    .flyup-responsive-report-shell--tablet-deepseek .flyup-editorial-schedule th:nth-child(1),
    .flyup-responsive-report-shell--tablet-deepseek .flyup-editorial-schedule td:nth-child(1) {
        width: 16% !important;
    }

    .flyup-responsive-report-shell--tablet-deepseek .flyup-editorial-schedule th:nth-child(2),
    .flyup-responsive-report-shell--tablet-deepseek .flyup-editorial-schedule td:nth-child(2) {
        width: 28% !important;
    }

    .flyup-responsive-report-shell--tablet-deepseek .flyup-editorial-schedule th:nth-child(3),
    .flyup-responsive-report-shell--tablet-deepseek .flyup-editorial-schedule td:nth-child(3) {
        width: 56% !important;
    }

    .flyup-responsive-report-shell--gsm-qwen {
        width: min(100%, 480px) !important;
        max-width: 480px !important;
    }

    .flyup-responsive-report-shell--gsm-qwen .flyup-responsive-report-modebar {
        flex-direction: column;
        align-items: stretch;
        max-width: 480px;
        margin-bottom: 0.8rem;
        text-align: center;
    }

    .flyup-responsive-report-shell--gsm-qwen .flyup-responsive-report-modebar > div {
        justify-content: center;
    }

    .flyup-responsive-report-shell--gsm-qwen .flyup-print-view--report,
    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-report {
        width: 100% !important;
        max-width: 480px !important;
        padding: 0 !important;
        font-size: 15px !important;
        line-height: 1.56 !important;
    }

    .flyup-responsive-report-shell--gsm-qwen .flyup-print-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0.65rem !important;
        margin: 0 0 0.85rem !important;
    }

    .flyup-responsive-report-shell--gsm-qwen .flyup-print-actions .btn {
        width: 100% !important;
        justify-content: center !important;
    }

    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-cover,
    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-section,
    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-budget-hero,
    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-warning,
    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-day,
    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-final {
        margin: 0 0 0.85rem !important;
        padding: 1rem !important;
        border-radius: 20px !important;
        box-shadow: 0 12px 30px rgba(15,23,42,0.05) !important;
    }

    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-cover__top,
    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-section-heading,
    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-section-heading--compact {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
        gap: 0.7rem !important;
        align-items: start !important;
    }

    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-cover h1 {
        font-size: clamp(1.85rem, 9vw, 2.55rem) !important;
        line-height: 1.05 !important;
        letter-spacing: -0.04em !important;
    }

    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-meta,
    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-budget-cards,
    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-overview-grid,
    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-two-col {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0.65rem !important;
    }

    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-client-choices {
        font-size: 0.88rem !important;
        line-height: 1.55 !important;
        padding: 0.85rem !important;
    }

    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-schedule,
    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-schedule thead,
    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-schedule tbody,
    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-schedule tr,
    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-schedule th,
    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-schedule td {
        display: block !important;
        width: 100% !important;
    }

    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-schedule thead {
        display: none !important;
    }

    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-schedule {
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-schedule tr {
        margin: 0 0 0.85rem !important;
        padding: 0.85rem !important;
        border: 1px solid rgba(14,165,233,0.18) !important;
        border-left: 4px solid #0ea5e9 !important;
        border-radius: 16px !important;
        background: rgba(248,251,255,0.96) !important;
        break-inside: avoid !important;
    }

    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-schedule td {
        border: 0 !important;
        padding: 0.18rem 0 !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-schedule td:nth-child(1)::before {
        content: 'Horaire : ';
        display: inline;
        font-weight: 900;
        color: #0369a1;
    }

    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-schedule td:nth-child(2)::before {
        content: 'Activité : ';
        display: inline;
        font-weight: 900;
        color: #0f172a;
    }

    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-schedule td:nth-child(3)::before {
        content: 'Détail : ';
        display: block;
        margin-top: 0.35rem;
        font-weight: 900;
        color: #0f172a;
    }

    .flyup-responsive-report-shell--gsm-qwen table:not(.flyup-editorial-schedule) {
        width: 100% !important;
        table-layout: fixed !important;
        font-size: 0.9rem !important;
    }

    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-budget-table th,
    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-budget-table td,
    .flyup-responsive-report-shell--gsm-qwen table:not(.flyup-editorial-schedule) th,
    .flyup-responsive-report-shell--gsm-qwen table:not(.flyup-editorial-schedule) td {
        padding: 0.52rem 0.58rem !important;
        overflow-wrap: anywhere !important;
    }

    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-score,
    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-tip,
    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-day-note,
    .flyup-responsive-report-shell--gsm-qwen .flyup-editorial-small {
        font-size: 0.92rem !important;
        line-height: 1.55 !important;
    }
}

@media screen and (max-width: 560px) {
    body.flyup-export-alt-screen .flyup-export-page > .container {
        width: min(calc(100% - 0.7rem), 100%) !important;
    }

    .flyup-responsive-report-shell--gsm-qwen {
        max-width: 100% !important;
    }
}


/* =====================================================================
   STEP53 PHASE17BZ — One responsive version for GSM + Tablet
   PC/PDF remains unchanged. This block applies only when view=mobile-tablet.
   It keeps the same report-print-view.php content and adapts layout by media.
===================================================================== */
@media screen {
    body.flyup-export-alt-screen .flyup-export-page > .container > h1 {
        display: none !important;
    }

    .flyup-responsive-report-shell--mobile-tablet {
        width: min(calc(100% - 1rem), 1120px) !important;
        max-width: 1120px !important;
        margin-inline: auto !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-responsive-report-modebar {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 0.75rem !important;
        width: 100% !important;
        max-width: 1120px !important;
        margin: 0 auto 1rem !important;
        padding: 0.85rem 1rem !important;
        border: 1px solid rgba(56,189,248,0.22) !important;
        border-radius: 20px !important;
        background: rgba(255,255,255,0.86) !important;
        box-shadow: 0 14px 34px rgba(15,23,42,0.06) !important;
        backdrop-filter: blur(12px) !important;
        color: #0f172a !important;
        font-size: 0.92rem !important;
        font-weight: 800 !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-responsive-report-modebar > div {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-wrap: wrap !important;
        gap: 0.5rem !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-responsive-report-modebar a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 38px !important;
        padding: 0.52rem 0.86rem !important;
        border-radius: 999px !important;
        border: 1px solid rgba(14,165,233,0.22) !important;
        background: rgba(255,255,255,0.94) !important;
        color: #0f172a !important;
        text-decoration: none !important;
        font-size: 0.84rem !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-responsive-report-modebar a.is-active {
        background: linear-gradient(135deg, #0ea5e9, #14b8a6) !important;
        border-color: transparent !important;
        color: #fff !important;
        box-shadow: 0 10px 24px rgba(14,165,233,0.18) !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-print-view--report,
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-report {
        width: 100% !important;
        max-width: 1120px !important;
        margin-inline: auto !important;
        font-size: 15.5px !important;
        line-height: 1.56 !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-print-actions {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 0.65rem !important;
        margin-bottom: 1rem !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-print-actions .btn {
        justify-content: center !important;
        width: 100% !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-cover,
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-section,
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-budget-hero,
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-day,
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-final {
        border-radius: 22px !important;
        padding: clamp(1.15rem, 2vw, 1.8rem) !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-cover h1 {
        font-size: clamp(2.05rem, 4.2vw, 3.25rem) !important;
        line-height: 1.06 !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-meta,
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-budget-cards,
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-overview-grid {
        gap: 0.8rem !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-schedule {
        width: 100% !important;
        table-layout: fixed !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-schedule th:nth-child(1),
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-schedule td:nth-child(1) {
        width: 16% !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-schedule th:nth-child(2),
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-schedule td:nth-child(2) {
        width: 28% !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-schedule th:nth-child(3),
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-schedule td:nth-child(3) {
        width: 56% !important;
    }

    .flyup-responsive-report-shell--mobile-tablet table th,
    .flyup-responsive-report-shell--mobile-tablet table td {
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }
}

/* GSM: same responsive view, automatically compacted. */
@media screen and (max-width: 700px) {
    body.flyup-export-alt-screen .flyup-export-page > .container {
        width: min(calc(100% - 0.7rem), 100%) !important;
        padding-inline: 0 !important;
    }

    .flyup-responsive-report-shell--mobile-tablet {
        width: 100% !important;
        max-width: 480px !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-responsive-report-modebar {
        flex-direction: column !important;
        align-items: stretch !important;
        text-align: center !important;
        padding: 0.8rem !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-responsive-report-modebar > div {
        justify-content: center !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-print-view--report,
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-report {
        max-width: 480px !important;
        padding: 0 !important;
        font-size: 15px !important;
        line-height: 1.56 !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-print-actions {
        grid-template-columns: 1fr !important;
        gap: 0.65rem !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-cover,
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-section,
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-budget-hero,
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-warning,
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-day,
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-final {
        margin: 0 0 0.85rem !important;
        padding: 1rem !important;
        border-radius: 20px !important;
        box-shadow: 0 12px 30px rgba(15,23,42,0.05) !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-cover__top,
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-section-heading,
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-section-heading--compact {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
        gap: 0.7rem !important;
        align-items: start !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-cover h1 {
        font-size: clamp(1.85rem, 9vw, 2.55rem) !important;
        line-height: 1.05 !important;
        letter-spacing: -0.04em !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-meta,
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-budget-cards,
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-overview-grid,
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-two-col {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0.65rem !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-client-choices {
        font-size: 0.88rem !important;
        line-height: 1.55 !important;
        padding: 0.85rem !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-schedule,
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-schedule thead,
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-schedule tbody,
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-schedule tr,
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-schedule th,
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-schedule td {
        display: block !important;
        width: 100% !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-schedule thead {
        display: none !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-schedule {
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-schedule tr {
        margin: 0 0 0.85rem !important;
        padding: 0.85rem !important;
        border: 1px solid rgba(14,165,233,0.18) !important;
        border-left: 4px solid #0ea5e9 !important;
        border-radius: 16px !important;
        background: rgba(248,251,255,0.96) !important;
        break-inside: avoid !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-schedule td {
        border: 0 !important;
        padding: 0.18rem 0 !important;
        overflow-wrap: anywhere !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-schedule td:nth-child(1)::before {
        content: 'Horaire : ';
        display: inline;
        font-weight: 900;
        color: #0369a1;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-schedule td:nth-child(2)::before {
        content: 'Activité : ';
        display: inline;
        font-weight: 900;
        color: #0f172a;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-schedule td:nth-child(3)::before {
        content: 'Détail : ';
        display: block;
        margin-top: 0.35rem;
        font-weight: 900;
        color: #0f172a;
    }

    .flyup-responsive-report-shell--mobile-tablet table:not(.flyup-editorial-schedule) {
        width: 100% !important;
        table-layout: fixed !important;
        font-size: 0.9rem !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-budget-table th,
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-budget-table td,
    .flyup-responsive-report-shell--mobile-tablet table:not(.flyup-editorial-schedule) th,
    .flyup-responsive-report-shell--mobile-tablet table:not(.flyup-editorial-schedule) td {
        padding: 0.52rem 0.58rem !important;
        overflow-wrap: anywhere !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-score,
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-tip,
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-day-note,
    .flyup-responsive-report-shell--mobile-tablet .flyup-editorial-small {
        font-size: 0.92rem !important;
        line-height: 1.55 !important;
    }
}

/* My Trips: only one additional responsive button now, not separate GSM + Tablet. */
@media screen {
    .flyup-action-icon-btn--responsive {
        background: linear-gradient(135deg, rgba(14,165,233,0.14), rgba(20,184,166,0.12)) !important;
        border-color: rgba(14,165,233,0.22) !important;
    }
}


/* =====================================================================
   STEP53 PHASE17CC — Muscat excursions + compact end-of-day PDF layout
   - Keep one itinerary day starting on a new page.
   - Pack the end-of-day notes in two columns after the daily tip.
   - Allow final/global sections to flow naturally and avoid sparse pages.
===================================================================== */
.flyup-editorial-day__extras--compact {
    display: block !important;
}

.flyup-editorial-day__tip {
    margin-bottom: 10px !important;
}

.flyup-editorial-day__extras-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(280px, 1.05fr);
    gap: 14px;
    align-items: start;
}

.flyup-editorial-day__extras-left,
.flyup-editorial-day__extras-right {
    min-width: 0;
}

.flyup-editorial-day__extras-right .flyup-editorial-budget-table {
    margin-top: 0 !important;
}

.flyup-editorial-budget-comment {
    margin-top: 6px !important;
}

@media print {
    .flyup-editorial-day {
        break-before: page !important;
        page-break-before: always !important;
        break-after: page !important;
        page-break-after: always !important;
    }

    .flyup-editorial-day__extras--compact {
        margin-top: 2.5mm !important;
    }

    .flyup-editorial-day__extras-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 0.9fr) minmax(72mm, 1.1fr) !important;
        gap: 4mm !important;
        align-items: start !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .flyup-editorial-day__extras-left,
    .flyup-editorial-day__extras-right {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .flyup-editorial-day__extras--compact .flyup-editorial-tip,
    .flyup-editorial-day__extras--compact .flyup-editorial-score {
        display: block !important;
        width: 100% !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .flyup-editorial-day__extras--compact .flyup-editorial-day-note,
    .flyup-editorial-day__extras--compact .flyup-editorial-small,
    .flyup-editorial-day__extras--compact .flyup-editorial-budget-table {
        font-size: 8.8pt !important;
        line-height: 1.28 !important;
    }

    .flyup-editorial-day__extras--compact .flyup-editorial-budget-table th,
    .flyup-editorial-day__extras--compact .flyup-editorial-budget-table td {
        padding: 1.6mm 2mm !important;
    }

    /* Final/global information should be compact; only day pages are forced. */
    .flyup-editorial-section {
        break-inside: auto !important;
        page-break-inside: auto !important;
        margin: 3.2mm 0 !important;
    }

    .flyup-editorial-section h2 {
        margin: 3mm 0 1.8mm !important;
        font-size: 11.2pt !important;
        line-height: 1.15 !important;
    }

    .flyup-editorial-section p,
    .flyup-editorial-section li {
        margin-top: 1mm !important;
        margin-bottom: 1mm !important;
    }

    .flyup-editorial-two-col,
    .flyup-editorial-card-grid {
        gap: 3mm !important;
        align-items: start !important;
    }

    .flyup-editorial-compact-list {
        margin: 1.5mm 0 !important;
    }
}

@media screen and (max-width: 760px) {
    .flyup-editorial-day__extras-grid {
        grid-template-columns: 1fr;
    }
}


/* =====================================================================
   STEP53 PHASE17CH — Clean consolidated day-end budget layout
   Analysis: old CD/CE/CF/CG blocks were contradictory. They all targeted
   the same selectors with different fixed widths/transforms. This single
   final block replaces those stacked rules.

   Rules preserved:
   - each day starts on a new page;
   - no forced break after each day, so global sections can use remaining
     space after the last day;
   - compact 2-column day-end block after “Conseil du jour”.

   Budget table fix:
   - no negative transform;
   - no fixed right-side overflow;
   - print layout uses percentages inside the available report width;
   - screen layout keeps the readable HTML-like table width.
===================================================================== */

@media screen and (min-width: 761px) {
    .flyup-editorial-day__extras--compact {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }

    .flyup-editorial-day__extras-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(380px, 430px) !important;
        gap: 1.25rem !important;
        align-items: start !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    .flyup-editorial-day__extras-left,
    .flyup-editorial-day__extras-right {
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    .flyup-editorial-day__extras-right {
        justify-self: center !important;
        width: 430px !important;
        max-width: 430px !important;
        transform: none !important;
    }

    .flyup-editorial-day__extras-right .flyup-editorial-budget-table {
        width: 410px !important;
        max-width: 410px !important;
        margin: 0 auto 0.55rem auto !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
        box-sizing: border-box !important;
    }

    .flyup-editorial-day__extras-right .flyup-editorial-budget-table th {
        width: 58% !important;
    }

    .flyup-editorial-day__extras-right .flyup-editorial-budget-table td {
        width: 42% !important;
        white-space: nowrap !important;
        overflow: visible !important;
        text-align: left !important;
    }
}

@media screen and (max-width: 760px) {
    .flyup-editorial-day__extras-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0.9rem !important;
    }

    .flyup-editorial-day__extras-right,
    .flyup-editorial-day__extras-right .flyup-editorial-budget-table {
        width: 100% !important;
        max-width: 100% !important;
        transform: none !important;
    }
}

@media print {
    .flyup-editorial-day {
        break-before: page !important;
        page-break-before: always !important;
        break-after: auto !important;
        page-break-after: auto !important;
        min-height: 0 !important;
        height: auto !important;
        overflow: visible !important;
    }

    .flyup-editorial-day__extras--compact {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 2.5mm !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    .flyup-editorial-day__tip {
        margin-bottom: 2.5mm !important;
    }

    .flyup-editorial-day__extras-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 53%) minmax(0, 43%) !important;
        gap: 4% !important;
        align-items: start !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
        box-sizing: border-box !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .flyup-editorial-day__extras-left,
    .flyup-editorial-day__extras-right {
        min-width: 0 !important;
        width: auto !important;
        max-width: 100% !important;
        transform: none !important;
        box-sizing: border-box !important;
        overflow: visible !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .flyup-editorial-day__extras-right {
        justify-self: stretch !important;
    }

    .flyup-editorial-day__extras-right .flyup-editorial-budget-table {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 1.5mm 0 !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    .flyup-editorial-day__extras-right .flyup-editorial-budget-table th {
        width: 57% !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    .flyup-editorial-day__extras-right .flyup-editorial-budget-table td {
        width: 43% !important;
        white-space: nowrap !important;
        overflow: visible !important;
        text-align: left !important;
        overflow-wrap: normal !important;
    }

    .flyup-editorial-day__extras-right .flyup-editorial-budget-table th,
    .flyup-editorial-day__extras-right .flyup-editorial-budget-table td {
        padding: 1.55mm 1.8mm !important;
        font-size: 8.8pt !important;
        line-height: 1.24 !important;
        box-sizing: border-box !important;
    }

    .flyup-editorial-day__extras-right .flyup-editorial-budget-comment {
        width: 100% !important;
        max-width: 100% !important;
        margin: 1mm 0 0 0 !important;
        overflow-wrap: anywhere !important;
    }

    .flyup-editorial-day__extras--compact .flyup-editorial-tip,
    .flyup-editorial-day__extras--compact .flyup-editorial-score {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        box-sizing: border-box !important;
    }

    .flyup-editorial-day__extras--compact .flyup-editorial-day-note,
    .flyup-editorial-day__extras--compact .flyup-editorial-small,
    .flyup-editorial-day__extras--compact .flyup-editorial-budget-table {
        font-size: 8.8pt !important;
        line-height: 1.28 !important;
    }

    /* Only days start on fresh pages. Global sections should fill remaining
       space naturally after the last day instead of creating sparse pages. */
    .flyup-editorial-day + .flyup-editorial-section,
    .flyup-editorial-section {
        break-before: auto !important;
        page-break-before: auto !important;
        break-after: auto !important;
        page-break-after: auto !important;
        min-height: 0 !important;
    }

    .flyup-editorial-section {
        break-inside: auto !important;
        page-break-inside: auto !important;
        margin-top: 2.6mm !important;
        margin-bottom: 2.6mm !important;
    }
}


/* =====================================================================
   STEP53 PHASE17CI — Slightly larger A4 print margins
   User feedback: page margin was too small.
   Keep the validated 17CH budget-table cleanup unchanged; only add safer
   A4 margins at the very end of the CSS cascade.
===================================================================== */
@media print {
    @page {
        size: A4 portrait;
        margin: 8mm 10mm 11mm 10mm !important;
    }

    .flyup-editorial-report,
    .flyup-print-content--ai,
    .flyup-print-view--report {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}


/* =====================================================================
   STEP53 PHASE17CJ — Standalone PDF cover page
   The cover is an independent template included only when export=pdf.
   It does not change the report body renderer.
===================================================================== */
.flyup-pdf-cover-page {
    display: none;
}

@media print {
    .flyup-print-view--report.is-auto-print .flyup-pdf-cover-page {
        display: block !important;
        break-after: page !important;
        page-break-after: always !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        min-height: calc(297mm - 19mm) !important;
        box-sizing: border-box !important;
        color: #0f172a !important;
        background:
            radial-gradient(circle at 15% 14%, rgba(56,189,248,.20), transparent 34%),
            radial-gradient(circle at 88% 18%, rgba(20,184,166,.17), transparent 30%),
            linear-gradient(135deg, #f8fbff 0%, #ffffff 46%, #ecfeff 100%) !important;
        border: 1px solid rgba(14,165,233,.18) !important;
        border-radius: 8mm !important;
        overflow: hidden !important;
    }

    .flyup-pdf-cover-page__inner {
        min-height: calc(297mm - 19mm) !important;
        padding: 13mm 13mm 10mm !important;
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        gap: 9mm !important;
    }

    .flyup-pdf-cover-page__brand {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 10mm !important;
    }

    .flyup-pdf-cover-page__logo {
        display: block !important;
        width: 56mm !important;
        height: auto !important;
        object-fit: contain !important;
    }

    .flyup-pdf-cover-page__brand strong {
        font-size: 20pt !important;
        color: #0f2a44 !important;
    }

    .flyup-pdf-cover-page__brand span {
        padding: 2.2mm 4mm !important;
        border: 1px solid rgba(14,165,233,.25) !important;
        border-radius: 999px !important;
        background: rgba(255,255,255,.72) !important;
        color: #0f766e !important;
        font-weight: 800 !important;
        font-size: 9pt !important;
        letter-spacing: .04em !important;
        text-transform: uppercase !important;
    }

    .flyup-pdf-cover-page__content {
        max-width: 155mm !important;
    }

    .flyup-pdf-cover-page__eyebrow {
        margin: 0 0 4mm !important;
        color: #0ea5e9 !important;
        text-transform: uppercase !important;
        letter-spacing: .08em !important;
        font-weight: 900 !important;
        font-size: 9pt !important;
    }

    .flyup-pdf-cover-page h1 {
        margin: 0 !important;
        color: #0f2a44 !important;
        font-size: 30pt !important;
        line-height: 1.05 !important;
        letter-spacing: -0.03em !important;
        border: 0 !important;
        padding: 0 !important;
    }

    .flyup-pdf-cover-page__subtitle {
        margin: 5mm 0 0 !important;
        max-width: 135mm !important;
        color: #475569 !important;
        font-size: 12pt !important;
        line-height: 1.45 !important;
    }

    .flyup-pdf-cover-page__score {
        display: inline-flex !important;
        align-items: center !important;
        gap: 3mm !important;
        margin-top: 7mm !important;
        padding: 3mm 5mm !important;
        border-radius: 999px !important;
        background: #0f2a44 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .flyup-pdf-cover-page__score strong {
        font-size: 18pt !important;
        line-height: 1 !important;
    }

    .flyup-pdf-cover-page__score span {
        font-size: 8.5pt !important;
        text-transform: uppercase !important;
        letter-spacing: .06em !important;
        opacity: .86 !important;
    }

    .flyup-pdf-cover-page__meta {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 3mm !important;
    }

    .flyup-pdf-cover-page__meta div {
        padding: 4mm !important;
        border-radius: 5mm !important;
        border: 1px solid rgba(14,165,233,.16) !important;
        background: rgba(255,255,255,.78) !important;
        box-sizing: border-box !important;
    }

    .flyup-pdf-cover-page__meta small {
        display: block !important;
        margin-bottom: 1mm !important;
        color: #64748b !important;
        font-size: 7.8pt !important;
        text-transform: uppercase !important;
        letter-spacing: .06em !important;
        font-weight: 800 !important;
    }

    .flyup-pdf-cover-page__meta strong {
        display: block !important;
        color: #0f172a !important;
        font-size: 10.3pt !important;
        line-height: 1.25 !important;
    }

    .flyup-pdf-cover-page__footer {
        display: flex !important;
        justify-content: space-between !important;
        gap: 6mm !important;
        padding-top: 4mm !important;
        border-top: 1px solid rgba(14,165,233,.18) !important;
        color: #64748b !important;
        font-size: 8.5pt !important;
    }

    /* In PDF mode, the standalone cover replaces the old integrated title block. */
    .flyup-print-view--report.is-auto-print > .flyup-editorial-cover {
        display: none !important;
    }
}

@media screen {
    .flyup-pdf-cover-page {
        display: none !important;
    }
}


/* =====================================================================
   STEP53 PHASE17CK — Full A4 PDF cover, zero margin first page
   User feedback: the cover page must cover the whole first A4 page.
   This affects ONLY the first printed page and ONLY export=pdf mode.
===================================================================== */
@media print {
    @page:first {
        size: A4 portrait;
        margin: 0 !important;
    }

    .flyup-print-view--report.is-auto-print .flyup-pdf-cover-page {
        display: block !important;
        width: 210mm !important;
        height: 297mm !important;
        min-height: 297mm !important;
        max-height: 297mm !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
        break-after: page !important;
        page-break-after: always !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        background:
            radial-gradient(circle at 14% 12%, rgba(56,189,248,.25), transparent 36%),
            radial-gradient(circle at 90% 18%, rgba(20,184,166,.20), transparent 32%),
            linear-gradient(135deg, #f8fbff 0%, #ffffff 42%, #ecfeff 100%) !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .flyup-print-view--report.is-auto-print .flyup-pdf-cover-page__inner {
        width: 210mm !important;
        height: 297mm !important;
        min-height: 297mm !important;
        margin: 0 !important;
        padding: 18mm 18mm 14mm !important;
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        gap: 9mm !important;
    }

    .flyup-print-view--report.is-auto-print .flyup-pdf-cover-page__logo {
        width: 58mm !important;
        max-width: 58mm !important;
        height: auto !important;
    }

    .flyup-print-view--report.is-auto-print .flyup-pdf-cover-page h1 {
        font-size: 34pt !important;
        line-height: 1.05 !important;
        max-width: 170mm !important;
    }

    .flyup-print-view--report.is-auto-print .flyup-pdf-cover-page__subtitle {
        max-width: 150mm !important;
        font-size: 12.5pt !important;
    }

    .flyup-print-view--report.is-auto-print .flyup-pdf-cover-page__meta {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 4mm !important;
    }

    .flyup-print-view--report.is-auto-print .flyup-pdf-cover-page__meta div {
        min-height: 18mm !important;
        padding: 4.2mm !important;
    }

    /* Keep the normal, validated A4 margins for all report pages after the cover. */
    .flyup-print-view--report.is-auto-print > .flyup-editorial-cover {
        display: none !important;
    }
}

@media screen {
    .flyup-pdf-cover-page {
        display: none !important;
    }
}


/* =====================================================================
   STEP53 PHASE17CL — True full-page PDF cover width fix
   Problem observed: first cover background occupied only the left part of
   the printed page. Root cause: fixed 210mm sizing can be constrained by
   parent export containers / print preview scaling. Use the printed viewport
   instead and reset all export parents in PDF mode.
===================================================================== */
@media print {
    @page:first {
        size: A4 portrait;
        margin: 0 !important;
    }

    html,
    body {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        overflow: visible !important;
        background: #ffffff !important;
    }

    body:has(.flyup-print-view--report.is-auto-print),
    .flyup-print-view--report.is-auto-print,
    .flyup-print-view--report.is-auto-print .flyup-pdf-cover-page,
    .flyup-print-view--report.is-auto-print .flyup-pdf-cover-page__inner {
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }

    .flyup-print-view--report.is-auto-print {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .flyup-print-view--report.is-auto-print .flyup-pdf-cover-page {
        display: block !important;
        position: relative !important;
        left: 0 !important;
        right: auto !important;
        top: 0 !important;
        width: 100vw !important;
        min-width: 100vw !important;
        max-width: 100vw !important;
        height: 100vh !important;
        min-height: 100vh !important;
        max-height: 100vh !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
        break-after: page !important;
        page-break-after: always !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        background:
            radial-gradient(circle at 14% 12%, rgba(56,189,248,.25), transparent 36%),
            radial-gradient(circle at 90% 18%, rgba(20,184,166,.20), transparent 32%),
            linear-gradient(135deg, #f8fbff 0%, #ffffff 42%, #ecfeff 100%) !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .flyup-print-view--report.is-auto-print .flyup-pdf-cover-page__inner {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        height: 100% !important;
        min-height: 100% !important;
        margin: 0 !important;
        padding: 18mm 18mm 14mm !important;
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        gap: 9mm !important;
    }

    .flyup-print-view--report.is-auto-print .flyup-pdf-cover-page__content,
    .flyup-print-view--report.is-auto-print .flyup-pdf-cover-page h1,
    .flyup-print-view--report.is-auto-print .flyup-pdf-cover-page__subtitle {
        max-width: 100% !important;
    }

    .flyup-print-view--report.is-auto-print .flyup-pdf-cover-page__meta {
        width: 100% !important;
        max-width: 100% !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    /* The report body after the cover keeps the validated normal A4 margins. */
    .flyup-print-view--report.is-auto-print > .flyup-editorial-cover {
        display: none !important;
    }
}


/* =====================================================================
   STEP53 PHASE17CM — Destination presentation after report title
   Adds a country + city context block immediately after the title/header.
   Cover page remains untouched.
===================================================================== */
.flyup-editorial-destination-presentation {
    border: 1px solid rgba(14, 165, 233, 0.16);
    border-radius: 18px;
    background: linear-gradient(135deg, #f8fbff 0%, #ffffff 45%, #ecfeff 100%);
    padding: 18px;
    break-inside: avoid;
    page-break-inside: avoid;
}

.flyup-editorial-destination-presentation__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 12px;
}

.flyup-editorial-destination-presentation__grid article {
    min-width: 0;
    padding: 14px 15px;
    border-radius: 16px;
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(14,165,233,.14);
}

.flyup-editorial-destination-presentation__grid small {
    display: block;
    margin-bottom: 5px;
    color: #0284c7;
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.flyup-editorial-destination-presentation__grid h3 {
    margin: 0 0 7px;
    color: #0f2a44;
    font-size: 1.05rem;
    line-height: 1.2;
}

.flyup-editorial-destination-presentation__grid p,
.flyup-editorial-destination-presentation__notes p {
    margin: 0;
    color: #334155;
    line-height: 1.45;
}

.flyup-editorial-destination-presentation__notes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
}

.flyup-editorial-destination-presentation__notes p {
    padding: 10px 12px;
    border-radius: 14px;
    background: #f8fafc;
    border-left: 3px solid #14b8a6;
}

@media screen and (max-width: 760px) {
    .flyup-editorial-destination-presentation__grid,
    .flyup-editorial-destination-presentation__notes {
        grid-template-columns: 1fr;
    }
}

@media print {
    .flyup-editorial-destination-presentation {
        padding: 4mm !important;
        margin: 3mm 0 !important;
        border-radius: 4mm !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .flyup-editorial-destination-presentation__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 3mm !important;
        margin-top: 2.5mm !important;
    }

    .flyup-editorial-destination-presentation__grid article {
        padding: 3mm !important;
        border-radius: 3mm !important;
    }

    .flyup-editorial-destination-presentation__grid h3 {
        font-size: 10.5pt !important;
        margin-bottom: 1.5mm !important;
    }

    .flyup-editorial-destination-presentation__grid p,
    .flyup-editorial-destination-presentation__notes p {
        font-size: 8.7pt !important;
        line-height: 1.32 !important;
    }

    .flyup-editorial-destination-presentation__notes {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 2.5mm !important;
        margin-top: 2.5mm !important;
    }

    .flyup-editorial-destination-presentation__notes p {
        padding: 2.2mm 2.5mm !important;
        border-radius: 3mm !important;
    }
}


/* STEP53 PHASE17CZ — Report introduction block */
.flyup-editorial-report-introduction {
    border: 1px solid rgba(14,165,233,.16);
    border-radius: 18px;
    background: linear-gradient(135deg, #ffffff 0%, #f8fbff 52%, #ecfeff 100%);
    padding: 18px;
    break-inside: avoid;
    page-break-inside: avoid;
}

.flyup-editorial-intro-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 12px;
}

.flyup-editorial-intro-grid article {
    background: rgba(255,255,255,.86);
    border: 1px solid rgba(14,165,233,.13);
    border-left: 3px solid #14b8a6;
    border-radius: 14px;
    padding: 12px;
}

.flyup-editorial-intro-grid strong {
    display: block;
    margin-bottom: 5px;
    color: #0f2a44;
}

.flyup-editorial-intro-grid p {
    margin: 0;
    color: #334155;
    line-height: 1.42;
}

@media screen and (max-width: 760px) {
    .flyup-editorial-intro-grid {
        grid-template-columns: 1fr;
    }
}

@media print {
    .flyup-editorial-report-introduction {
        padding: 4mm !important;
        margin: 3mm 0 !important;
        border-radius: 4mm !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .flyup-editorial-intro-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 2.5mm !important;
        margin-top: 2.5mm !important;
    }

    .flyup-editorial-intro-grid article {
        padding: 2.6mm !important;
        border-radius: 3mm !important;
    }

    .flyup-editorial-intro-grid strong {
        font-size: 8.8pt !important;
    }

    .flyup-editorial-intro-grid p {
        font-size: 8.4pt !important;
        line-height: 1.32 !important;
    }
}


/* STEP53 PHASE17DE — local practical essentials */
.flyup-editorial-local-essentials {
    border-left: 4px solid #0ea5e9;
    break-inside: avoid;
    page-break-inside: avoid;
}
.flyup-editorial-local-essentials h3 {
    margin-top: 12px;
}
@media print {
    .flyup-editorial-local-essentials {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }
}

/* =====================================================================
   STEP53 PHASE17DT — GSM horizontal scroll for report tables only
   Goal: on phone, do not convert the programme tables into stacked cards.
   Only the tables become horizontally movable; the rest of the report remains stable.
===================================================================== */
@media screen and (max-width: 700px) {
    .flyup-responsive-report-shell--mobile-tablet .flyup-mobile-table-scroll {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior-x: contain !important;
        margin: 0.75rem 0 1rem !important;
        padding: 0 0 0.45rem !important;
        border: 1px solid rgba(14,165,233,0.16) !important;
        border-radius: 16px !important;
        background: rgba(255,255,255,0.88) !important;
        box-shadow: inset 0 -10px 18px rgba(14,165,233,0.035) !important;
        touch-action: pan-x pan-y !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-mobile-table-scroll table,
    .flyup-responsive-report-shell--mobile-tablet .flyup-mobile-table-scroll .flyup-editorial-schedule,
    .flyup-responsive-report-shell--mobile-tablet .flyup-mobile-table-scroll .flyup-editorial-budget-table {
        display: table !important;
        width: max-content !important;
        max-width: none !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
        margin: 0 !important;
        box-shadow: none !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-mobile-table-scroll .flyup-editorial-schedule {
        min-width: 780px !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-mobile-table-scroll .flyup-editorial-schedule--compact,
    .flyup-responsive-report-shell--mobile-tablet .flyup-mobile-table-scroll .flyup-editorial-budget-table {
        min-width: 560px !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-mobile-table-scroll thead {
        display: table-header-group !important;
        width: auto !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-mobile-table-scroll tbody {
        display: table-row-group !important;
        width: auto !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-mobile-table-scroll tr {
        display: table-row !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-mobile-table-scroll th,
    .flyup-responsive-report-shell--mobile-tablet .flyup-mobile-table-scroll td {
        display: table-cell !important;
        width: auto !important;
        border: 1px solid rgba(148,163,184,0.28) !important;
        padding: 0.62rem 0.7rem !important;
        vertical-align: top !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        font-size: 0.86rem !important;
        line-height: 1.38 !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-mobile-table-scroll th {
        background: rgba(226,242,255,0.92) !important;
        color: #0f172a !important;
        font-weight: 900 !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-mobile-table-scroll .flyup-editorial-schedule th:nth-child(1),
    .flyup-responsive-report-shell--mobile-tablet .flyup-mobile-table-scroll .flyup-editorial-schedule td:nth-child(1) {
        width: 115px !important;
        min-width: 115px !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-mobile-table-scroll .flyup-editorial-schedule th:nth-child(2),
    .flyup-responsive-report-shell--mobile-tablet .flyup-mobile-table-scroll .flyup-editorial-schedule td:nth-child(2) {
        width: 190px !important;
        min-width: 190px !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-mobile-table-scroll .flyup-editorial-schedule th:nth-child(3),
    .flyup-responsive-report-shell--mobile-tablet .flyup-mobile-table-scroll .flyup-editorial-schedule td:nth-child(3) {
        width: 475px !important;
        min-width: 475px !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-mobile-table-scroll td::before,
    .flyup-responsive-report-shell--mobile-tablet .flyup-mobile-table-scroll th::before {
        content: none !important;
        display: none !important;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-mobile-table-scroll::-webkit-scrollbar {
        height: 8px;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-mobile-table-scroll::-webkit-scrollbar-thumb {
        background: rgba(14,165,233,0.42);
        border-radius: 999px;
    }

    .flyup-responsive-report-shell--mobile-tablet .flyup-mobile-table-scroll::after {
        content: '← glisser le tableau →';
        display: block;
        position: sticky;
        left: 0;
        padding: 0.35rem 0.55rem 0;
        color: #64748b;
        font-size: 0.72rem;
        font-weight: 800;
        text-align: center;
        pointer-events: none;
    }
}

/* Phase18L - Inspiration IA print/PDF layout isolation */
.flyup-print-view--inspiration .flyup-editorial-cover--inspiration {
    min-height: auto;
    margin-bottom: 1.25rem;
}

.flyup-print-view--inspiration .flyup-editorial-meta--inspiration {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.flyup-inspiration-print-section {
    page-break-before: auto;
}

.flyup-inspiration-print-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
}

.flyup-inspiration-print-grid--small {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.flyup-inspiration-print-card,
.flyup-inspiration-suggestion-card {
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 18px;
    padding: 1rem;
    background: #fff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
    break-inside: avoid;
    page-break-inside: avoid;
}

.flyup-inspiration-print-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.flyup-inspiration-print-card__head h3 {
    margin: 0;
    font-size: 1.08rem;
    line-height: 1.25;
}

.flyup-inspiration-print-card__head span {
    flex: 0 0 auto;
    padding: 0.28rem 0.55rem;
    border-radius: 999px;
    background: rgba(14, 165, 233, 0.10);
    color: #0369a1;
    font-size: 0.76rem;
    font-weight: 800;
}

.flyup-inspiration-print-card p,
.flyup-inspiration-suggestion-card p {
    margin: 0.45rem 0;
    color: #334155;
    line-height: 1.45;
}

.flyup-inspiration-print-facts {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.45rem;
    margin: 0.7rem 0;
}

.flyup-inspiration-print-facts div {
    display: grid;
    gap: 0.12rem;
    padding: 0.55rem 0.65rem;
    border-radius: 12px;
    background: rgba(248, 250, 252, 0.95);
    border: 1px solid rgba(226, 232, 240, 0.95);
}

.flyup-inspiration-print-facts dt {
    color: #64748b;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 800;
}

.flyup-inspiration-print-facts dd {
    margin: 0;
    color: #0f172a;
    font-weight: 700;
}

.flyup-inspiration-print-list {
    margin-top: 0.6rem;
}

@media print {
    .flyup-print-view--inspiration .flyup-editorial-meta--inspiration {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .flyup-inspiration-print-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .flyup-inspiration-print-grid--small {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .flyup-print-view--inspiration .flyup-editorial-meta--inspiration,
    .flyup-inspiration-print-grid,
    .flyup-inspiration-print-grid--small {
        grid-template-columns: 1fr;
    }
}

/* Phase18O - Inspiration IA richer destination cards + safe complementary suggestions */
.flyup-inspiration-bullet-list {
    margin: 0.45rem 0 0;
    padding-left: 1.05rem;
    color: #334155;
    line-height: 1.45;
}

.flyup-inspiration-bullet-list li {
    margin: 0.22rem 0;
}

.flyup-inspiration-suggestion-card h3 {
    margin: 0 0 0.35rem;
    font-size: 0.98rem;
    line-height: 1.25;
}

.flyup-inspiration-print-card .flyup-editorial-small,
.flyup-inspiration-suggestion-card .flyup-editorial-small {
    color: #475569;
}

@media print {
    .flyup-print-view--inspiration .flyup-inspiration-print-grid {
        grid-template-columns: 1fr;
    }

    .flyup-print-view--inspiration .flyup-inspiration-print-grid--small {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* =====================================================================
   STEP53 PHASE18AC — Responsive HTML report reader actions
===================================================================== */
@media screen {
    body.flyup-export-alt-screen .flyup-export-page > .container > h1 {
        display: none !important;
    }

    .flyup-mobile-html-report-reader {
        width: 100%;
        max-width: 1120px;
        margin: 0 auto;
    }

    .flyup-mobile-html-report-actions {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: wrap;
        gap: 0.6rem;
        margin: 0 0 1rem;
        padding: 0.75rem;
        border-radius: 20px;
        background: rgba(255,255,255,0.9);
        border: 1px solid rgba(219,231,243,0.9);
        box-shadow: 0 14px 34px rgba(15,23,42,0.06);
    }

    .flyup-mobile-html-report-action {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.4rem;
        min-height: 40px;
        padding: 0.55rem 0.85rem;
        border-radius: 999px;
        background: rgba(248,251,255,0.96);
        border: 1px solid rgba(219,231,243,0.86);
        color: #0f172a;
        text-decoration: none;
        font-weight: 900;
        font-size: 0.84rem;
    }

    .flyup-mobile-html-report-action--back,
    .flyup-mobile-html-report-action--pc {
        background: linear-gradient(135deg, rgba(14,165,233,0.14), rgba(20,184,166,0.10));
        border-color: rgba(14,165,233,0.18);
        color: #0369a1;
    }

    .flyup-mobile-html-report-stage .flyup-report-view {
        max-width: 1120px;
        margin: 0 auto;
    }
}

/* =========================
   Phase18AW - Raw report baseline
   Neutral view for rebuilding the definitive AI report/PDF.
========================= */
.flyup-raw-report {
    max-width: 980px;
    margin: 0 auto 3rem;
    padding: 1.5rem;
    background: #fff;
    color: #0f172a;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    box-shadow: none;
}

.flyup-raw-report__header {
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid #e2e8f0;
}

.flyup-raw-report__eyebrow {
    margin: 0 0 0.4rem;
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.flyup-raw-report__header h1 {
    margin: 0 0 0.8rem;
    font-size: clamp(1.8rem, 4vw, 2.7rem);
    line-height: 1.08;
    color: #0f172a;
}

.flyup-raw-report__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.flyup-raw-report__meta span,
.flyup-raw-report__notice {
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #f8fafc;
    color: #334155;
    padding: 0.45rem 0.7rem;
    font-size: 0.86rem;
    font-weight: 700;
}

.flyup-raw-report__notice {
    border-radius: 14px;
    margin-bottom: 1rem;
    line-height: 1.55;
    font-weight: 600;
}

.flyup-raw-report__fields {
    display: grid;
    gap: 0.9rem;
}

.flyup-raw-report__field,
.flyup-raw-report__item {
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #fff;
    padding: 0.9rem;
    break-inside: avoid;
    page-break-inside: avoid;
}

.flyup-raw-report__field-label {
    margin-bottom: 0.45rem;
    color: #0f172a;
    font-size: 0.86rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.flyup-raw-report__field-value {
    color: #334155;
    line-height: 1.55;
}

.flyup-raw-report__text {
    margin: 0 0 0.45rem;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.flyup-raw-report__text:last-child {
    margin-bottom: 0;
}

.flyup-raw-report__list {
    display: grid;
    gap: 0.7rem;
}

.flyup-raw-report__item h4 {
    margin: 0 0 0.55rem;
    color: #0f172a;
    font-size: 1rem;
}

@media print {
    .flyup-raw-report {
        max-width: none;
        margin: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .flyup-raw-report__notice {
        display: none;
    }
}
