/* The live site's CSS stays loaded. These are paper-specific layout changes. */
@media print {
    @page { size: A4; margin: 14mm; }
    html, body { width: auto; min-width: 0; margin: 0; padding: 0; background: #fff; color: #201e1d; font-size: 10pt; }
    *, *::before, *::after { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; animation: none !important; transition: none !important; box-shadow: none !important; text-shadow: none !important; }
    a[href]::after { content: none !important; }
    #wpadminbar,
    .nikko-page-tools, .nikko-instagram-dialog, .elementor-lightbox, .nikko-pacote-included__form,
    .formlayer-form-wrapper, main form, #content form, button:not([data-gallery-open]), .mkl-form-shortcode, .ha-whatsapp-button, .eael-ext-scroll-to-top-wrap,
    .cmplz-cookiebanner, .nikko-pacote-tabs, .nikko-pacote-gallery__nav, .nikko-pacote-gallery__counter,
    .nikko-promotions__controls, .nikko-promotions__navigation, .mkl-resort-playback,
    .e-n-tabs-heading, .swiper-slide:not(.swiper-slide-active) { display: none !important; }
    body:not(.nikko-print-full) :is(#masthead,#colophon,.elementor-location-header,.elementor-location-footer,.hfe-site-header,.hfe-site-footer) { display: none !important; }
    .nikko-print-full :is(#masthead,#colophon,.elementor-location-header,.elementor-location-footer,.hfe-site-header,.hfe-site-footer) { position: static !important; top: auto !important; transform: none !important; width: 100%; }
    .nikko-print-full .nikko-print-brand { display: none; }
    .nikko-print-full #masthead .top-menu-header { flex-wrap: wrap; gap: 8pt; min-height: 0; max-width: 100%; padding: 8pt !important; }
    .nikko-print-full #masthead .top-nav-menu { flex: 1 1 100%; order: 3; min-width: 0; }
    .nikko-print-full #masthead .eael-simple-menu-container { display: block !important; position: static !important; width: 100% !important; max-width: 100%; min-width: 0; }
    .nikko-print-full #masthead .eael-simple-menu { display: flex !important; flex-wrap: wrap; width: 100%; transform: none !important; }
    .nikko-print-full #masthead .eael-simple-menu > li > a { min-height: 0; padding: 4pt !important; font-size: 8pt !important; }
    .nikko-print-full #masthead .sub-menu { display: none !important; }
    .nikko-print-full :is(.footer-map,.nk-map,.nk-location-map) { display: none !important; }
    .nikko-print-full .nk-footer-design .nk-location { padding: 14pt; }
    .nikko-print-full .nk-footer-design .nk-location-row { display: block; }
    .nikko-print-full :is(#colophon,.footer-grid,.nk-footer-design) { break-inside: avoid; }
    .nikko-print-brand { display: block; padding-bottom: 12pt; margin-bottom: 18pt; border-bottom: 2px solid #9f1f2c; }
    .nikko-print-brand img { display: block; width: 120px; max-height: 50px; object-fit: contain; margin-bottom: 10pt; }
    .nikko-print-brand span { display: block; margin-top: 5pt; font-size: 9pt; overflow-wrap: anywhere; }
    main, .site-main, .nikko-pacote, .nikko-container, .mkl-landing, .mkl-landing .mkl-wrap { width: 100%; max-width: none; margin: 0; overflow: visible; }
    .nikko-pacote-layout, .nikko-pacote-hero__layout { display: block; }
    .nikko-pacote-hero__visual { display: flex; flex-direction: column; min-height: 0; }
    .nikko-pacote-hero__heading { position: static; order: -1; height: auto; padding: 12pt; margin-bottom: 10pt; background: var(--nikko-brand-wine-dark); }
    .nikko-pacote-hero__title { font-size: 26pt; line-height: 1.15; }
    .nikko-pacote-gallery__main::after { content: none; }
    .nikko-pacote-panel[hidden], .e-n-tabs-content > [role=tabpanel] { display: block !important; }
    .nikko-pacote-panel, .e-n-tabs-content > [role=tabpanel] { margin-top: 14pt; }
    .nikko-pacote-gallery__stage { display: none !important; }
    .nikko-pacote-gallery__print { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10pt; margin-block: 12pt; }
    .nikko-pacote-gallery__print figure { margin: 0; padding: 6pt; border: 1px solid var(--nikko-brand-border); border-radius: 8pt; background: var(--nikko-surface); break-inside: avoid; }
    .nikko-pacote-gallery__print img { display: block; width: 100%; height: 60mm; object-fit: contain; }
    .nikko-pacote-gallery__print figcaption { padding-top: 5pt; color: var(--nikko-brand-muted); font-size: 8pt; text-align: center; }
    .nikko-pacote-gallery__thumbs { display: none; }
    .nikko-pacote-hero__booking { margin: 14pt 0; padding: 12pt; break-inside: avoid; }
    .nikko-pacote-section, .mkl-landing :is(.mkl-festival,.mkl-resort,.mkl-packages,.mkl-faq,.mkl-contact) { padding-block: 16pt; }
    .nikko-pacote-section-heading { break-after: avoid; }
    .nikko-pacote-payment { break-inside: avoid; }
    .nikko-pacote-details { padding: 0; border: 0; }
    .nikko-pacote-richtext:has(> table) { overflow: visible; }
    .nikko-pacote-richtext table { width: 100%; min-width: 0; }
    .nikko-pacote-richtext :is(th,td) { min-width: 0; padding: 6pt; font-size: 9pt; overflow-wrap: break-word; }
    tr, figure, .nikko-tax-archive__card { break-inside: avoid; }
    h1, h2, h3, summary { break-after: avoid; }
    .nikko-pacote .nikko-pacote-itinerary { padding-block: 8pt; }
    .nikko-pacote-itinerary .nikko-pacote-section-heading { margin-bottom: 5pt; }
    .nikko-pacote-itinerary .nikko-pacote-section-heading h2 { margin: 2pt 0; font-size: 13pt; line-height: 1.2; }
    .nikko-pacote-itinerary .nikko-pacote-section-heading p { margin: 2pt 0; font-size: 9pt; line-height: 1.3; }
    .nikko-pacote-itinerary__list { display: block; }
    .nikko-pacote-itinerary__item { margin: 0; border: 0; border-radius: 0; padding-bottom: 4pt; break-inside: auto; }
    .nikko-pacote-itinerary__item + .nikko-pacote-itinerary__item { border-top: 1px solid var(--nikko-brand-border); }
    .nikko-pacote-itinerary__summary { display: block; min-height: 0; padding: 5pt 0 2pt; line-height: 1.25; }
    .nikko-pacote-itinerary__number { display: inline; margin-right: 5pt; font-size: 9pt; }
    .nikko-pacote-itinerary__heading { display: inline; font-size: 10pt; line-height: 1.25; }
    .nikko-pacote-itinerary__toggle { display: none; }
    .nikko-pacote .nikko-pacote-itinerary__content { padding: 0; font-size: 9.5pt; line-height: 1.35; color: var(--nikko-brand-ink); }
    .nikko-pacote-itinerary__content :is(p,li,span) { font-size: inherit !important; line-height: inherit !important; orphans: 3; widows: 3; }
    .nikko-pacote-itinerary__content p { margin: 0 0 3pt; }
    .nikko-pacote-itinerary__content :is(ul,ol) { margin: 0 0 3pt; padding-left: 12pt; }
    .nikko-pacote-itinerary__content li { margin-bottom: 1pt; }
    .nikko-pacote-itinerary__content br + br { display: none; }
    .nikko-promotions { width: 100%; max-width: 100%; left: auto; margin-left: 0; }
    .nikko-promotions__slides { height: 85mm; min-height: 0; max-height: 85mm; }
    .nikko-promotions__slide { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: minmax(0,1fr); height: 100%; min-height: 0; }
    .nikko-promotions__image { grid-column: 1; grid-row: 1; }
    .nikko-promotions__inner { grid-column: 2; grid-row: 1; padding: 12pt; }
    .nikko-promotions__title { font-size: 24pt; }
    .nikko-promotions__text { font-size: 10pt; }
    .nikko-tax-archive__results, .nikko-tax-archive__results-grid { display: block; }
    .nikko-tax-archive__home-group { break-inside: avoid; }
    .nikko-tax-archive__card--travel { display: grid; grid-template-columns: 1fr 1.4fr; min-height: 0; padding: 0; margin-bottom: 12pt; }
    .nikko-tax-archive__card--travel .nikko-tax-archive__image-link { position: static; grid-column: 1; grid-row: 1; height: 52mm; border-radius: 0; }
    .nikko-tax-archive__card--travel .nikko-tax-archive__card-body { position: static; grid-column: 2; grid-row: 1; margin: 0; padding: 12pt; border-radius: 0; background: #fff !important; }
    .nikko-tax-archive__card--travel .nikko-tax-archive__card-title { min-height: 0; font-size: 14pt; }
    .nikko-tax-archive__card--travel :is(.nikko-tax-archive__card-title,.nikko-tax-archive__excerpt) { display: block; -webkit-line-clamp: unset; white-space: normal; overflow: visible; }
    .nikko-tax-archive__card--travel .nikko-tax-archive__type { top: 6pt; left: 6pt; right: auto; background: #fff !important; }
    .mkl-landing { --mkl-gutter: 0px; }
    .mkl-landing .mkl-hero { min-height: 100mm; height: auto; padding: 20pt; }
    .mkl-landing .mkl-hero::after { background: rgba(0,0,0,.5) !important; }
    .mkl-landing .mkl-hero :is(h1,p,small) { color: #fff !important; }
    .mkl-landing .mkl-hero-title .elementor-heading-title { font-size: 60pt; }
    .mkl-landing .mkl-festival-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10pt; }
    .mkl-landing .mkl-festival-gallery .mkl-festival-moment { grid-column: auto; break-inside: avoid; }
    .mkl-landing .mkl-festival-image img { height: 40mm; }
    .mkl-landing .mkl-festival-caption { padding-top: 5pt; font-size: 9pt; }
    .mkl-landing .mkl-resort-inner, .mkl-landing .mkl-resort-tabs,
    .mkl-landing .mkl-package-tabs .e-n-tabs, .mkl-landing .mkl-contact-inner { display: block; }
    .mkl-landing .e-n-tabs-content { display: block; }
    .mkl-landing .e-n-tabs-content > [role=tabpanel] { width: 100%; }
    .mkl-landing .mkl-resort-panel { break-inside: avoid; }
    .mkl-landing .mkl-resort-image img { height: 65mm; }
    .mkl-landing .mkl-offer-inner { display: block; }
    .mkl-landing .mkl-offer { padding: 16pt; break-inside: avoid; background: #fff !important; border: 1px solid #9f1f2c; }
    .mkl-landing .mkl-offer-main { display: grid; grid-template-columns: 1.1fr 1fr; }
    .mkl-landing .mkl-offer-copy { max-width: none; }
    .mkl-landing .mkl-offer-price { font-size: 28pt; }
    .mkl-landing .mkl-contact-form { padding: 0; }
    .mkl-landing .mkl-header, .mkl-landing .mkl-footer { display: none; }
}
