/**
 * Print styles — fit page content on A4 without horizontal clipping.
 * Print styles — fit page content on A4 without horizontal clipping.
 */

@page {
    size: A4 portrait;
    margin: 12mm;
}

@media print {
    html,
    body {
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
        overflow-x: visible !important;
        background: #fff !important;
        color: #000 !important;
        font-size: 11pt !important;
    }

    *,
    *::before,
    *::after {
        box-shadow: none !important;
        text-shadow: none !important;
    }

    header,
    body > article,
    body > section,
    .sliderWrapper,
    .innerpage-sliderwrap,
    main,
    footer {
        max-width: 100% !important;
        width: 100% !important;
        overflow: visible !important;
    }

    .container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin: 0 !important;
    }

    img {
        max-width: 100% !important;
        height: auto !important;
        page-break-inside: avoid;
    }

    a[href]::after {
        content: none !important;
    }

    /* Hide interactive / non-essential chrome (keep site search visible for A4 print) */
    .hamburger,
    .toggleMenu,
    .swiper-navigation,
    .swiper-button-next,
    .swiper-button-prev,
    .swiper-pagination,
    .product-load-more,
    .side-menu-toggle,
    .image-slider-popup,
    .skip-link,
    .skipContent,
    #wpadminbar {
        display: none !important;
    }

    /* Header search must print on A4 (GIGW 5.1.20) */
    .headerWrapper > .navigationWrapper .container {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 0.35rem !important;
        width: 100% !important;
    }

    .headerWrapper > .navigationWrapper nav {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: calc(100% - 9rem) !important;
    }

    .headerWrapper .navigationWrapper .search-box-form,
    .headerWrapper .navigationWrapper .mil-header-search-form,
    .headerWrapper .navigationWrapper .search-form,
    .headerWrapper .navigationWrapper #wpes_search_widget-3 {
        display: block !important;
        visibility: visible !important;
        position: static !important;
        width: 8rem !important;
        min-width: 7rem !important;
        max-width: 9rem !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        padding: 0 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .headerWrapper .navigationWrapper .search-box-form input,
    .headerWrapper .navigationWrapper .mil-header-search-form .search-field,
    .headerWrapper .navigationWrapper .search-form .search-field,
    .headerWrapper .navigationWrapper input[type="search"],
    .headerWrapper .navigationWrapper input.search-field {
        display: block !important;
        visibility: visible !important;
        width: 100% !important;
        height: 1.5rem !important;
        font-size: 8pt !important;
        border: 1px solid #fff !important;
        background-color: transparent !important;
        background-image: url(../images/serach.svg) !important;
        background-repeat: no-repeat !important;
        background-position: 0.35rem center !important;
        background-size: 0.75rem !important;
        padding: 0 0.35rem 0 1.4rem !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .headerWrapper .navigationWrapper .search-box-form input::placeholder,
    .headerWrapper .navigationWrapper .mil-header-search-form .search-field::placeholder,
    .headerWrapper .navigationWrapper .search-form .search-field::placeholder,
    .headerWrapper .navigationWrapper input.search-field::placeholder {
        color: #fff !important;
        opacity: 1 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* Header: keep logos readable, prevent overflow */
    .headerWrapper {
        overflow: visible !important;
    }

    .headerWrapper .logoContainer .container {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 0.5rem !important;
    }

    .headerWrapper .logoContainer .container .leftContainer,
    .headerWrapper .logoContainer .container .rightContainer {
        max-width: 100% !important;
        flex: 1 1 auto !important;
    }

    .headerWrapper .logoContainer .container .rightContainer {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: flex-end !important;
        gap: 0.35rem !important;
    }

    .headerWrapper .logoContainer .container .rightContainer figure {
        max-width: 4.5rem !important;
    }

    .headerWrapper .logoContainer .container .rightContainer figure img {
        max-width: 100% !important;
        height: auto !important;
    }

    .headerWrapper .logoContainer .container .leftContainer .logo-text .logo-tagline,
    .headerWrapper .logoContainer .container .leftContainer .logo-text h2 {
        font-size: 14pt !important;
    }

    .headerWrapper .logoContainer .container .leftContainer .logo-text .logo-brand-hi,
    .headerWrapper .logoContainer .container .leftContainer .logo-text h3 {
        font-size: 9pt !important;
    }

    /* Main nav: wrap instead of clipping off the page edge; leave room for search */
    .headerWrapper > .navigationWrapper {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        background: var(--primary-blue) !important;
    }

    .headerWrapper .navigationWrapper nav {
        display: block !important;
        position: static !important;
        width: auto !important;
        max-width: calc(100% - 9rem) !important;
        flex: 1 1 auto !important;
        background: transparent !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .headerWrapper .navigationWrapper nav > ul,
    .headerWrapper .upperHeadSection .navigationWrapper .container nav > ul {
        display: flex !important;
        flex-wrap: wrap !important;
        width: 100% !important;
        justify-content: flex-start !important;
    }

    .headerWrapper .navigationWrapper nav li a {
        padding: 0.35rem 0.5rem !important;
        font-size: 8pt !important;
        white-space: normal !important;
    }

    .headerWrapper .navigationWrapper nav li ul,
    .headerWrapper .navigationWrapper nav .sub-menu {
        display: none !important;
    }

    /* Banner / hero — shrink for print */
    .innerpage-sliderwrap {
        max-height: none !important;
        height: auto !important;
        margin-bottom: 0.75rem !important;
    }

    .innerpage-sliderwrap .bgImageContainer img {
        max-height: 120px !important;
        width: 100% !important;
        object-fit: cover !important;
    }

    .innerpage-sliderwrap .contentWrapper {
        position: static !important;
        width: 100% !important;
        padding: 0.5rem 0 !important;
        background: transparent !important;
        color: #000 !important;
    }

    .innerpage-sliderwrap .contentWrapper h2 {
        font-size: 14pt !important;
        color: #000 !important;
    }

    /* ---------- Products page: category tabs ---------- */
    .productsWrap {
        overflow: visible !important;
        padding: 0.75rem 0 1rem !important;
    }

    .tabContainer {
        margin-top: 0.75rem !important;
        overflow: visible !important;
    }

    .tabContainer .tab-buttonContainer {
        overflow: visible !important;
        width: 100% !important;
    }

    /* Override Swiper inline widths / transforms that cause A4 clipping */
    .tabContainer .tab-buttonContainer .swiper,
    .tabContainer .tab-buttonContainer .swiper-tabSlider {
        overflow: visible !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .tabContainer .tab-buttonContainer .swiper-wrapper {
        display: flex !important;
        flex-wrap: wrap !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        transform: none !important;
        transition: none !important;
    }

    .tabContainer .tab-buttonContainer .swiper-slide,
    .tabContainer .tab-buttonContainer .tab-button {
        width: 50% !important;
        max-width: 50% !important;
        flex: 0 0 50% !important;
        height: auto !important;
        margin: 0 !important;
        font-size: 9pt !important;
        padding: 0.4rem 0.35rem !important;
        white-space: normal !important;
        line-height: 1.25 !important;
        border: 1px solid #0A5F9E !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .tabContainer .tab-buttonContainer .tab-button.active {
        background-color: #0A5F9E !important;
        color: #fff !important;
    }

    /* Accordion labels: keep hidden on print (desktop tabs shown) */
    .productsWrap .tab-content-container .accordian-button {
        display: none !important;
    }

    /* ---------- Products page: product grid ---------- */
    .tabContainer .tab-content-container {
        margin-top: 0.75rem !important;
        overflow: visible !important;
    }

    .tabContainer .tab-content-container .tab-content {
        overflow: visible !important;
        width: 100% !important;
    }

    .tabContainer .tab-content-container .tab-content.active {
        display: block !important;
    }

    .productsWrap .product-container {
        display: flex !important;
        flex-wrap: wrap !important;
        width: 100% !important;
        justify-content: flex-start !important;
    }

    /* Two columns fit A4; override 23% desktop / Swiper widths */
    .productsWrap .tabContainer .tab-content-container .tab-content .list-slide,
    .tabContainer .tab-content-container .tab-content .list-slide {
        width: 48% !important;
        max-width: 48% !important;
        flex: 0 0 48% !important;
        margin: 0 1% 0.75rem !important;
        padding: 0 !important;
        page-break-inside: avoid;
        break-inside: avoid;
        transform: none !important;
        overflow: visible !important;
    }

    /* Show all products in the active tab when printing */
    .productsWrap .tab-content.active .products-loadmores,
    .productsWrap .tab-content.active .list-slide {
        display: block !important;
        visibility: visible !important;
    }

    .productsWrap .list-slide figure {
        padding: 0.5rem 0 !important;
    }

    .productsWrap .list-slide figure img,
    .tabContainer .tab-content-container .tab-content .list-slide figure img {
        max-height: 100px !important;
        max-width: 100% !important;
        width: auto !important;
        height: auto !important;
        margin: 0 auto !important;
        transform: none !important;
    }

    .productsWrap .tabContainer .tab-content-container .tab-content .list-slide h5,
    .tabContainer .tab-content-container .tab-content .list-slide h5 {
        font-size: 8pt !important;
        padding: 0.5rem 0.35rem !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: unset !important;
        line-height: 1.3 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        background-color: var(--primary-blue) !important;
        color: #fff !important;
    }

    /* Home product list slider (if printed) */
    .productListWrap {
        overflow: visible !important;
    }

    .productListWrap .tabContainer .tab-content-container .tab-content .swiper,
    .productListWrap .tabContainer .tab-content-container .tab-content .swiper-wrapper {
        display: flex !important;
        flex-wrap: wrap !important;
        width: 100% !important;
        transform: none !important;
        height: auto !important;
    }

    .productListWrap .tabContainer .tab-content-container .tab-content .list-slide {
        width: 48% !important;
        max-width: 48% !important;
        flex: 0 0 48% !important;
    }

    /* Product detail & other wide layouts */
    .productDetailsWrap .details-wrap {
        display: block !important;
        width: 100% !important;
    }

    .productDetailsWrap .details-wrap .productSlider,
    .productDetailsWrap .details-wrap .product-details-container {
        width: 100% !important;
        max-width: 100% !important;
    }

    .product-units-wrapper .list-wrapper article {
        width: 48% !important;
        margin: 0 1% 0.75rem !important;
    }

    /* Tables that force horizontal scroll */
    .download-table,
    .rti-table-wrap,
    .careers-table-wrap,
    .careers-table {
        overflow: visible !important;
        width: 100% !important;
    }

    table.download-table,
    table.careers-table,
    .table-row {
        min-width: 0 !important;
        width: 100% !important;
        font-size: 8pt !important;
    }

    /* Footer */
    .footerWrapper {
        overflow: visible !important;
        page-break-before: avoid;
    }

    .footerWrapper .links-wrap,
    .footerWrapper .addressWrap,
    .footerWrapper .newletters-wrap {
        width: 100% !important;
        max-width: 100% !important;
    }
}
