﻿/* ============================================================
   CHILE INSIDEOUT — Tour Pages Print CSS
   style-print.css
   Includere nel head-tour.php:
   <link rel="stylesheet" href="<?php echo BASE_PATH;?>/css/style-print.css" media="print">

   MODIFICHE PHP NECESSARIE (una sola, per la foto copertina):
   Dentro .tour-hero__content, dopo .tour-hero__meta, aggiungere:
   <img src="<?php echo BASE_PATH;?>/<?php echo IMAGE;?>"
        class="tour-hero__print-img" alt="" />
   ============================================================ */

/* ============================================================
   BOTTONE SCARICA PDF
   Coordinato con style.css del sito:
   stessa famiglia .btn, Montserrat uppercase, border 2px, radius 2px
   ============================================================ */

/* Segue esattamente le convenzioni di .btn + .btn-orange del sito */
#btn-download-pdf {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 28px;
    font-family: 'Montserrat', 'Arial Narrow', Arial, sans-serif;
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    border-radius: 2px;
    border: 2px solid var(--orange, #f38f28);
    background: var(--orange, #f38f28);
    color: #fff;
    cursor: pointer;
    transition: background .2s, color .2s, border-color .2s;
    text-decoration: none;
    line-height: 1;
}

    #btn-download-pdf:hover {
        background: transparent;
        color: var(--orange, #f38f28);
    }

    #btn-download-pdf:disabled {
        opacity: .55;
        cursor: wait;
    }

/* Spinner durante la preparazione */
.btn-pdf__spinner {
    display: inline-block;
    width: 13px;
    height: 13px;
    border: 2px solid rgba(255,255,255,.35);
    border-top-color: currentColor;
    border-radius: 50%;
    animation: pdf-spin .7s linear infinite;
    flex-shrink: 0;
}

@keyframes pdf-spin {
    to {
        transform: rotate(360deg);
    }
}

/* ============================================================
   ELEMENTI VISIBILI SOLO IN STAMPA — nascosti a schermo
   Da copiare in style-tour.css
   ============================================================ */
.print-logo,
.tour-hero__print-img {
    display: none;
}

@media print {

    *, *::before, *::after {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        color-adjust: exact !important;
    }

    @page {
        size: A4;
        margin: 0;
    }

    html, body {
        font-size: 10pt;
        font-family: 'Montserrat', 'Arial Narrow', Arial, sans-serif;
        background: #f2f4f8 !important;
        color: #06214a !important;
    }



    /* ══════════════════════════════════════════════════════
     NASCONDI TUTTO IL SUPERFLUO
     ══════════════════════════════════════════════════════ */
    .navbar,
    #nav-toggle,
    [class*="wa-"],
    [class*="lightbox"],
    .tour-contact-form,
    section#section-down,
    /* Footer — tutti i selettori possibili */
    footer,
    .footer,
    .footer-ita-tour,
    [class*="footer"],
    /* Pulsanti e link non utili */
    .price-block__note,
    a.btn,
    button,
    #btn-open-gallery {
        display: none !important;
    }


    /* ══════════════════════════════════════════════════════
     1. COPERTINA — .tour-hero
     ══════════════════════════════════════════════════════ */

    .tour-hero {
        position: relative !important;
        width: 100% !important;
        min-height: 100vh !important;
        background: #06214a !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        margin: 0 !important;
        page-break-after: always !important;
        break-after: page !important;
        overflow: hidden !important;
    }

    /* Sfondo e overlay hero — nascosti, usiamo il blu solido */
    .tour-hero__bg,
    .tour-hero__overlay {
        display: none !important;
    }

    /* Logo — img.print-logo aggiunta nel PHP dentro .tour-hero__content */
    .print-logo {
        display: block !important;
        width: 160pt !important;
        height: auto !important;
        max-height: 50pt !important;
        object-fit: contain !important;
        mix-blend-mode: screen !important;
        margin: 0 auto 28pt !important;
    }

    /* Foto principale della copertina — sfondo a piena pagina */
    .tour-hero__print-img {
        display: block !important;
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
        border-radius: 0 !important;
        margin: 0 !important;
        z-index: 0 !important;
        opacity: 0.4 !important;
    }

    .tour-hero__content {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        padding: 40pt 40pt 30pt !important;
        position: relative !important;
        z-index: 2 !important;
        width: 100% !important;
    }

    .tour-hero__label {
        display: inline-block !important;
        font-size: 7.5pt !important;
        font-weight: 700 !important;
        letter-spacing: .12em !important;
        text-transform: uppercase !important;
        color: #f38f28 !important;
        border: 1pt solid #f38f28 !important;
        border-radius: 20pt !important;
        padding: 3pt 12pt !important;
        margin-bottom: 12pt !important;
    }

    .tour-hero__title {
        font-size: 28pt !important;
        font-weight: 800 !important;
        color: #ffffff !important;
        line-height: 1.15 !important;
        margin: 0 0 10pt !important;
    }

    .tour-hero__meta {
        font-size: 9pt !important;
        color: rgba(255,255,255,.7) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5pt !important;
        margin-bottom: 0 !important;
    }

        .tour-hero__meta svg {
            display: inline !important;
        }


    /* ══════════════════════════════════════════════════════
     2. INTRO — descrizione + mappa
     ══════════════════════════════════════════════════════ */

    .tour-intro {
        padding: 18pt 14mm 14pt !important;
        border-bottom: 1pt solid #e8ecf2 !important;
    }

    .container {
        max-width: 100% !important;
        padding: 0 8mm !important;
        margin: 0 !important;
    }

    .tour-intro__grid {
        display: grid !important;
        grid-template-columns: 1fr 175pt !important;
        gap: 20pt !important;
        align-items: start !important;
    }

    .section-label {
        display: inline-block !important;
        font-size: 7.5pt !important;
        font-weight: 700 !important;
        letter-spacing: .1em !important;
        text-transform: uppercase !important;
        color: #f38f28 !important;
        margin-bottom: 4pt !important;
    }

    .tour-intro__text h1 {
        font-size: 18pt !important;
        font-weight: 800 !important;
        color: #06214a !important;
        margin: 0 0 4pt !important;
        line-height: 1.2 !important;
    }

    .tour-intro__duration {
        font-size: 8.5pt !important;
        color: #6b7890 !important;
        font-weight: 600 !important;
        margin-bottom: 8pt !important;
    }

    .tour-intro__text p {
        font-size: 9pt !important;
        color: #354460 !important;
        line-height: 1.6 !important;
        margin-bottom: 6pt !important;
    }

    .price-block {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 12pt !important;
        margin: 10pt 0 0 !important;
        padding: 8pt 12pt !important;
        background: #f4f6fb !important;
        border-radius: 6pt !important;
        border-left: 3pt solid #f38f28 !important;
    }

        .price-block::after {
            content: "Brochure stampata in data " attr(data-print-date) !important;
            display: block !important;
            width: 100% !important;
            font-size: 7pt !important;
            color: #6b7890 !important;
            font-style: italic !important;
            margin-top: 6pt !important;
            padding-top: 6pt !important;
            border-top: 0.5pt solid #d0d8e8 !important;
            text-align: left !important;
        }

    .price-block__info {
        display: flex;
        flex-direction: column;
    }

    .price-block__from {
        font-size: 7pt !important;
        color: #6b7890 !important;
        font-weight: 500 !important;
        text-transform: uppercase !important;
        letter-spacing: .06em !important;
    }

    .price-block__amount {
        font-size: 16pt !important;
        font-weight: 800 !important;
        color: #06214a !important;
        line-height: 1.1 !important;
    }

    .tour-intro__map {
        display: block !important;
    }

        .tour-intro__map img {
            width: 100% !important;
            height: auto !important;
            border-radius: 6pt !important;
            display: block !important;
        }


    /* ══════════════════════════════════════════════════════
     3. ITINERARIO GIORNI
     ══════════════════════════════════════════════════════ */

    .itinerary-section {
        padding: 14pt 0 0 !important;
        page-break-before: always !important;
        break-before: page !important;
    }

    .itinerary-section__header {
        margin-bottom: 12pt !important;
        border-bottom: 2pt solid #06214a !important;
        padding-bottom: 6pt !important;
    }

        .itinerary-section__header h2 {
            font-size: 14pt !important;
            font-weight: 800 !important;
            color: #06214a !important;
            margin: 2pt 0 0 !important;
        }

    /* Ogni day-card: griglia foto + testo, sfondo bianco, zero ombre */
    .day-card {
        display: grid !important;
        grid-template-columns: 130pt 1fr !important;
        gap: 12pt !important;
        align-items: start !important; /* allinea foto e testo in cima */
        padding: 10pt 0 !important;
        margin: 0 !important;
        border: none !important;
        border-bottom: 1pt solid #e8ecf2 !important;
        border-radius: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    /* FIX 3: contenitore img — sfondo bianco, niente placeholder grigio */
    .day-card__img {
        display: block !important;
        background: #fff !important;
        border-radius: 5pt !important;
        overflow: hidden !important;
    }

        .day-card__img img {
            width: 100% !important;
            height: 85pt !important;
            object-fit: cover !important;
            border-radius: 5pt !important;
            display: block !important;
            background: #fff !important;
        }

    .day-card__body {
        padding: 2pt 0 0 !important;
        background: #fff !important;
    }

    .day-label {
        display: inline-block !important;
        font-size: 7pt !important;
        font-weight: 700 !important;
        letter-spacing: .1em !important;
        text-transform: uppercase !important;
        color: #f38f28 !important;
        margin-bottom: 2pt !important;
    }

    .day-card__body h2 {
        font-size: 11pt !important;
        font-weight: 700 !important;
        color: #06214a !important;
        margin: 0 0 4pt !important;
        line-height: 1.2 !important;
    }

    .day-card__body p {
        font-size: 8.5pt !important;
        color: #354460 !important;
        line-height: 1.55 !important;
        margin: 0 !important;
        background: #fff !important;
    }


    /* ══════════════════════════════════════════════════════
     4. INCLUSO / NON INCLUSO
     ══════════════════════════════════════════════════════ */

    .inclusions-section {
        padding: 14pt 0 !important;
        page-break-before: always !important;
        break-before: page !important;
        background: #fff !important;
    }

        .inclusions-section > div {
            background: #fff !important;
        }

        .inclusions-section h2 {
            font-size: 14pt !important;
            font-weight: 800 !important;
            color: #06214a !important;
            margin: 2pt 0 10pt !important;
        }

    .inclusions-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 16pt !important;
        align-items: start !important;
    }

    .inclusion-box {
        padding: 10pt 12pt !important;
        border: 1pt solid #e8ecf2 !important;
        border-radius: 6pt !important;
        background: #fff !important;
        break-inside: avoid !important;
    }

        .inclusion-box h3 {
            font-size: 10pt !important;
            font-weight: 700 !important;
            color: #06214a !important;
            margin-bottom: 8pt !important;
            padding-bottom: 4pt !important;
            border-bottom: 2pt solid #f38f28 !important;
            text-transform: uppercase !important;
            letter-spacing: .05em !important;
        }

    .inclusion-box--not h3 {
        border-bottom-color: #c0392b !important;
    }

    .inclusion-group-title {
        font-size: 7.5pt !important;
        font-weight: 700 !important;
        color: #06214a !important;
        margin: 8pt 0 3pt !important;
        text-transform: uppercase !important;
        letter-spacing: .05em !important;
    }

    .inclusion-list {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

        .inclusion-list li {
            font-size: 8pt !important;
            color: #354460 !important;
            padding: 2.5pt 0 2.5pt 12pt !important;
            border-bottom: 0.5pt solid #f4f6fb !important;
            position: relative !important;
            line-height: 1.4 !important;
        }

    .inclusion-box:not(.inclusion-box--not) .inclusion-list li::before {
        content: '✓' !important;
        position: absolute !important;
        left: 0 !important;
        color: #27ae60 !important;
        font-weight: 700 !important;
        font-size: 8pt !important;
    }

    .inclusion-box--not .inclusion-list li::before {
        content: '✕' !important;
        position: absolute !important;
        left: 0 !important;
        color: #c0392b !important;
        font-size: 7.5pt !important;
    }

    /* ══════════════════════════════════════════════════════
     OVERRIDE GENERALI
     ══════════════════════════════════════════════════════ */

    section {
        padding: 0 !important;
        margin: 0 !important;
        background: #fff !important;
    }

    img {
        max-width: 100% !important;
    }

    a {
        color: inherit !important;
        text-decoration: none !important;
    }

    strong {
        color: inherit !important;
    }
}
/* ── FINE @media print ── */

/* Nasconde a schermo gli elementi solo-stampa */
.no-screen {
    display: none;
}

@media print {

    .no-screen {
        display: block !important;
    }

    /* ══════════════════════════════════════════════════════
     PAGINA DI CHIUSURA BLU
     ══════════════════════════════════════════════════════ */
    .print-closing-page {
        width: 100% !important;
        min-height: 100vh !important;
        background: #06214a !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        padding: 60pt 50pt !important;
        box-sizing: border-box !important;
        page-break-before: always !important;
        break-before: page !important;
        margin: 0 !important;
    }

        .print-closing-page .print-logo {
            display: block !important;
            width: 160pt !important;
            height: auto !important;
            max-height: 50pt !important;
            object-fit: contain !important;
            mix-blend-mode: screen !important;
            margin: 0 auto 24pt !important;
        }

    .print-closing-page__tagline {
        font-size: 9pt !important;
        font-weight: 600 !important;
        color: rgba(255,255,255,0.7) !important;
        letter-spacing: .06em !important;
        text-transform: uppercase !important;
        margin: 0 0 36pt !important;
    }

    .print-closing-page__contact {
        border-top: 1pt solid rgba(255,255,255,0.2) !important;
        padding-top: 24pt !important;
    }

        .print-closing-page__contact p {
            font-size: 10pt !important;
            color: rgba(255,255,255,0.85) !important;
            line-height: 1.9 !important;
            margin: 0 !important;
        }

            .print-closing-page__contact p:first-child {
                font-size: 13pt !important;
                font-weight: 700 !important;
                color: #ffffff !important;
                margin-bottom: 8pt !important;
            }

        .print-closing-page__contact a {
            color: rgba(255,255,255,0.85) !important;
            text-decoration: none !important;
        }
}


/* ============================================================
   CATALOGO VIAGGI IN CILE — Print CSS
   Aggiunto per catalogo-viaggi-in-cile.php
   ============================================================ */

@media print {

    /* ══════════════════════════════════════════════════════
     COPERTINA — page-hero come prima pagina intera
     ══════════════════════════════════════════════════════ */

    .page-hero {
        position: relative !important;
        width: 100% !important;
        min-height: 100vh !important;
        background: #06214a !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        margin: 0 !important;
        page-break-after: always !important;
        break-after: page !important;
        overflow: hidden !important;
        text-align: center !important;
    }

    /* Sfondo hero: pseudo-element con l'immagine — viene stampato
       perché -webkit-print-color-adjust: exact è già dichiarato globalmente.
       Il browser userà il background-image dal CSS inline della pagina. */
    .page-hero::before {
        display: block !important;
        opacity: 0.35 !important;
        position: absolute !important;
        inset: 0 !important;
        z-index: 0 !important;
    }

    .page-hero__inner {
        position: relative !important;
        z-index: 2 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 40pt 50pt !important;
        max-width: 100% !important;
    }

    /* Logo nel hero — mostrato solo in stampa */
    .page-hero__inner::before {
        content: '' !important;
        display: block !important;
        width: 160pt !important;
        height: 50pt !important;
        background: url('../img/logo-white.png') center/contain no-repeat !important;
        margin: 0 auto 32pt !important;
        mix-blend-mode: screen !important;
    }

    .page-hero__label {
        display: inline-block !important;
        font-size: 7.5pt !important;
        font-weight: 700 !important;
        letter-spacing: .12em !important;
        text-transform: uppercase !important;
        color: #f38f28 !important;
        border: 1pt solid #f38f28 !important;
        border-radius: 20pt !important;
        padding: 3pt 12pt !important;
        margin-bottom: 14pt !important;
    }

    .page-hero h1 {
        font-size: 30pt !important;
        font-weight: 900 !important;
        color: #ffffff !important;
        line-height: 1.1 !important;
        margin: 0 0 14pt !important;
    }

    .page-hero p {
        font-size: 10pt !important;
        color: rgba(255,255,255,.80) !important;
        max-width: 360pt !important;
        margin: 0 auto !important;
        line-height: 1.7 !important;
    }

    .page-hero p strong {
        color: #fff !important;
    }


    /* ══════════════════════════════════════════════════════
     SEZIONI CATALOGO — layout stampa
     ══════════════════════════════════════════════════════ */

    .catalog-section {
        padding: 18pt 0 14pt !important;
        margin: 0 !important;
        background: #fff !important;
        border-bottom: 1pt solid #e8ecf2 !important;
    }

    /* Interruzione di pagina dopo ogni gruppo di 4 tour */
    .catalog-section--wide {
        break-after: page !important;
        page-break-after: always !important;
    }

    /* Padding per compensare @page margin:0 */
    .catalog-section,
    .catalog-section--wide,
    .catalog-section--split,
    .catalog-section--gruppo {
        padding-left: 8mm !important;
        padding-right: 8mm !important;
    }

    /* Sfondo grigio su tutte le sezioni e contenitori */
    .catalog-section:nth-child(odd),
    .catalog-section:nth-child(even),
    .catalog-section--gruppo,
    .catalog-section .container,
    .catalog-gruppo,
    .tour-intro,
    .itinerary-section,
    .inclusions-section {
        background: #f2f4f8 !important;
    }

    /* Travel-card del catalogo: bianche */
    .travel-card {
        background: #fff !important;
    }

    /* Inclusion-box (il tour include / non incluso): bianchi */
    .inclusion-box {
        background: #fff !important;
    }

    /* Sezione inclusions: grigia come il body */
    .inclusions-section,
    .inclusions-section > div,
    .inclusions-grid {
        background: #f2f4f8 !important;
    }

    /* Le day-card delle pagine tour: grigie come il body */
    .day-card,
    .day-card__body,
    .day-card__img,
    .day-card__body p,
    .day-card__body h2 {
        background: #f2f4f8 !important;
    }

    /* La copertina tour: blu scuro, nessun container bianco sopra */
    .tour-hero {
        background: #06214a !important;
    }
    .tour-hero .tour-hero__content,
    .tour-hero .container {
        background: transparent !important;
    }

    /* La copertina catalogo: nessun container bianco */
    .page-hero .container,
    .page-hero .page-hero__inner {
        background: transparent !important;
    }

    .catalog-section__header {
        margin-bottom: 12pt !important;
    }

    .catalog-section__label {
        font-size: 7pt !important;
        font-weight: 700 !important;
        letter-spacing: .12em !important;
        text-transform: uppercase !important;
        color: #f38f28 !important;
        display: block !important;
        margin-bottom: 4pt !important;
    }

    .catalog-section__title {
        font-size: 16pt !important;
        font-weight: 900 !important;
        color: #06214a !important;
        margin: 0 0 6pt !important;
        line-height: 1.1 !important;
    }

    .catalog-section__desc {
        font-size: 8.5pt !important;
        color: #354460 !important;
        line-height: 1.65 !important;
        max-width: 100% !important;
        margin: 0 !important;
    }


    /* ══════════════════════════════════════════════════════
     GRIGLIA CARD — 2 colonne in stampa (4 troppo piccole su A4)
     ══════════════════════════════════════════════════════ */

    .catalog-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 10pt !important;
        margin-top: 10pt !important;
    }

    /* Ogni card: non spezzarla tra pagine */
    .travel-card {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        border: 1pt solid #e8ecf2 !important;
        border-radius: 8pt !important;
        background: #fff !important;
        box-shadow: none !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
    }

    .travel-card__image-wrap {
        position: relative !important;
        overflow: hidden !important;
        height: 110pt !important;   /* altezza fissa: elimina lo spazio grigio */
        flex-shrink: 0 !important;
        background: #06214a !important;
    }

    .travel-card__image {
        width: 100% !important;
        height: 110pt !important;
        object-fit: cover !important;
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .travel-card__days {
        position: absolute !important;
        top: 6pt !important;
        left: 6pt !important;
        font-size: 6.5pt !important;
        font-weight: 700 !important;
        background: #06214a !important;
        color: #fff !important;
        padding: 2pt 6pt !important;
        border-radius: 3pt !important;
        letter-spacing: .06em !important;
    }

    .travel-card__content {
        padding: 8pt 10pt !important;
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
    }

    .travel-card__eyebrow {
        display: flex !important;
        gap: 5pt !important;
        align-items: center !important;
        margin-bottom: 4pt !important;
    }

    .travel-card__country {
        font-size: 6.5pt !important;
        font-weight: 600 !important;
        color: #06214a !important;
        text-transform: uppercase !important;
        letter-spacing: .07em !important;
    }

    .travel-card__badge {
        font-size: 6pt !important;
        font-weight: 700 !important;
        background: #f38f28 !important;
        color: #fff !important;
        padding: 1.5pt 5pt !important;
        border-radius: 2pt !important;
        letter-spacing: .06em !important;
        text-transform: uppercase !important;
    }

    .travel-card__title {
        font-size: 9.5pt !important;
        font-weight: 800 !important;
        color: #06214a !important;
        margin: 0 0 3pt !important;
        line-height: 1.25 !important;
    }

    .travel-card__subtitle {
        font-size: 8pt !important;
        color: #6b7890 !important;
        line-height: 1.5 !important;
        margin: 0 0 6pt !important;
        flex: 1 !important;
    }

    .travel-card__footer {
        border-top: 0.5pt solid #e8ecf2 !important;
        padding-top: 6pt !important;
        margin-top: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    .travel-card__price-row {
        display: flex !important;
        align-items: center !important;
        gap: 4pt !important;
    }

    .travel-card__from {
        font-size: 6.5pt !important;
        color: #6b7890 !important;
        text-transform: uppercase !important;
        font-weight: 600 !important;
    }

    .travel-card__line {
        display: none !important;
    }

    .travel-card__price {
        font-size: 11pt !important;
        font-weight: 900 !important;
        color: #06214a !important;
    }

    /* CTA non stampare il bottone ma mostrare l'URL in piccolo */
    .travel-card__button {
        display: none !important;
    }


    /* ══════════════════════════════════════════════════════
     SEZIONE SPLIT (Isola di Pasqua + Trekking)
     Titoli tenuti insieme ai loro box con break-inside
     ══════════════════════════════════════════════════════ */

    .catalog-section--split {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .catalog-split__headers {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 0 10pt !important;
        margin-bottom: 10pt !important;
    }

    .catalog-split__headers .catalog-section__header {
        margin-bottom: 0 !important;
    }


    /* ══════════════════════════════════════════════════════
     SEZIONE VIAGGI DI GRUPPO — testo + box affiancati
     ══════════════════════════════════════════════════════ */

    .catalog-gruppo {
        display: grid !important;
        grid-template-columns: 1fr 160pt !important;
        gap: 0 16pt !important;
        align-items: center !important;
    }

    .catalog-gruppo__box .travel-card {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

}
/* ── FINE sezione catalogo @media print ── */