@media print { @page { margin: 0.5in; size: letter; } /* ========== GLOBAL RESET ========== */ *, *::before, *::after { background: transparent !important; color: #000 !important; box-shadow: none !important; text-shadow: none !important; border-radius: 0 !important; float: none !important; } body { font-size: 10pt; line-height: 1.35; margin: 0; padding: 0; } /* ========== HIDE NON-PRINT ELEMENTS ========== */ .btn, .bg, .bg picture, .bg img, footer, a[href="Javascript:Void(0);"] { display: none !important; } /* ========== NUKE ALL SPACING from site framework ========== */ section, main, header, div, ul, li, .flx, .grd, .crd, .hdr, .bar, .std-lst, .deliver, .co, .co-box, [class*="gp_"], [class*="mx-"], [u-zone], [u-subzone] { margin: 0 !important; padding: 0 !important; border: none !important; max-width: 100% !important; width: 100% !important; } /* Re-apply only the spacing we actually want */ ul { list-style: none !important; } /* ========== HEADER ========== */ #HeaderZone { padding-bottom: 4pt !important; margin-bottom: 6pt !important; border-bottom: 2pt solid #000 !important; } #HeaderZone img { max-height: 28px; display: block; margin: 0 auto; } #HeaderZone .third, #HeaderZone span { display: none !important; } /* ========== PAGE TITLE ========== */ .std-lst h1 { font-size: 16pt; margin: 0 0 2pt !important; padding: 0 !important; } .std-lst h1 small { display: inline; font-size: 11pt; font-weight: normal; margin-left: 6pt; } /* ========== CARDS ========== */ .crd { border-top: 1.5pt solid #999 !important; padding-top: 6pt !important; margin-top: 8pt !important; margin-bottom: 4pt !important; } /* Section icons */ .crd .icn, .icn.cntr { max-width: 14px; max-height: 14px; margin-right: 3pt; } /* Section headings */ .crd h2, .fnt_t-4 { font-size: 11pt; font-weight: bold; margin: 0 0 4pt !important; padding: 0 !important; } h4 { font-size: 9pt; font-weight: bold; margin: 0 0 1pt !important; } p, li { font-size: 9pt; margin: 0 !important; } /* ========== BRAND DETAILS GRID ========== */ #BrandDetails .grd > li { margin-bottom: 4pt !important; } #BrandDetails .co { display: flex !important; align-items: flex-start !important; gap: 4pt !important; margin-top: 4pt !important; } /* ========== SHOOT DETAILS ========== */ #ShootDetails .bar { border-top: 0.5pt solid #ccc !important; border-bottom: 0.5pt solid #ccc !important; padding: 3pt 0 !important; margin: 4pt 0 !important; } .call-times { display: flex !important; gap: 16pt !important; } .call-times .third { display: block !important; } .call-times span { font-size: 7pt; text-transform: uppercase; letter-spacing: 0.3pt; display: block; } .call-times time { font-size: 10pt; font-weight: bold; } /* Locations */ .locations ul li { display: flex !important; align-items: center !important; gap: 3pt !important; } /* Contacts list */ #ShootDetails li:has(> p):has(> small) { margin-bottom: 2pt !important; } /* Wardrobe tips */ #ShootDetails li:has(.icn) { display: flex !important; align-items: center !important; gap: 3pt !important; margin-bottom: 1pt !important; } /* ========== TALENT ========== */ #TalentList li:has(> p):has(> small) { display: flex !important; align-items: baseline !important; gap: 4pt !important; margin-bottom: 1pt !important; } #TalentList small { font-size: 8pt; color: #555 !important; } #TalentList > ul > li > strong { display: block; font-size: 9pt; margin: 4pt 0 2pt !important; border-bottom: 0.5pt solid #ccc !important; padding-bottom: 1pt !important; } /* Hide empty testimonials section */ .rvws:has(li p:empty) { display: none !important; } /* ========== SCHEDULE TABLE ========== */ table { width: 100%; border-collapse: collapse; font-size: 9pt; } th { font-weight: bold; text-align: left; border-bottom: 1.5pt solid #000; padding: 2pt 4pt !important; font-size: 8pt; text-transform: uppercase; } td { padding: 2pt 4pt !important; border-bottom: 0.5pt solid #ddd; vertical-align: top; } /* ========== VIDEO DELIVERABLES ========== */ #VideoDeliverables .bar { border-bottom: 0.5pt solid #ccc !important; padding-bottom: 3pt !important; margin-bottom: 4pt !important; } .deliver { margin-bottom: 6pt !important; } .deliver > strong { font-size: 10pt; display: block !important; border-bottom: 0.5pt solid #aaa !important; padding-bottom: 2pt !important; margin-bottom: 2pt !important; } .deliver ul { columns: 2 !important; column-gap: 12pt; } .deliver ul li { break-inside: avoid; padding: 1pt 0 !important; font-size: 8pt; line-height: 1.3; } .deliver ul li small { color: #666 !important; margin-left: 3pt; font-size: 7pt; } /* ========== NEXT SHOOT ========== */ .co-box { border: 1pt solid #bbb !important; padding: 6pt 10pt !important; margin-top: 4pt !important; text-align: center; } .fnt_t-5 { font-size: 9pt; font-weight: normal; margin: 0 0 4pt !important; } /* ========== OVERFLOW / SCROLL CONTAINERS ========== */ .ui-scroll { overflow: visible !important; max-height: none !important; height: auto !important; } /* ========== PAGE BREAK STRATEGY ========== */ /* Let everything flow naturally — avoid forcing huge cards onto new pages which creates gaps */ .crd, #BrandDetails, #ShootDetails, #TalentList, #ShootSchedule, #VideoDeliverables, #NextShoot { page-break-inside: auto; } /* Only keep table rows together */ tr { page-break-inside: avoid; } /* Keep section header with its content */ .crd h2, .crd > .flx:first-child, .deliver > strong { page-break-after: avoid; } /* Small elements stay with next content */ strong, h4 { page-break-after: avoid; } }