/**
 * Entura Theme - Print Stylesheet
 * Professional PDF/Print styling for product and capability pages
 */

/* ==========================================================================
   Page Setup
   ========================================================================== */

@page {
  size: A4 portrait;
  margin: 8mm 0;
}

/* First page: keep top full bleed for banner */
@page :first {
  margin-top: 0;
}

/* ==========================================================================
   Hide Elements for Print
   ========================================================================== */

/* Site structure elements */
header,
#sidebar,
.nav-wrapper,
.site-nav,
.search-wrapper,
.nav-toggle,
.social,
.main-header {
  display: none !important;
}

/* Hide footer content but keep footer element for print-footer-section */
footer #meta,
footer #base {
  display: none !important;
}

footer {
  display: block !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 !important;
  margin-top: auto !important;
  color: #3f4543 !important;
}

/* UserWay accessibility widget */
[data-userway],
.userway_p1_open_icon,
.userway_p1_icon,
.userway_p1_holder,
.userway_buttons_wrapper,
#userwayAccessibilityIcon,
[id^="userway"],
[class^="userway"],
iframe[title*="accessibility"],
iframe[src*="userway"] {
  display: none !important;
}

/* Interactive elements */
form,
video,
iframe,
.hero-video,
audio,
embed,
object {
  display: none !important;
}

/* Sliders and navigation */
.slick-arrow,
.slick-dots,
.slick-prev,
.slick-next,
.banner_slider .slick-arrow,
.prev,
.next,
.prev-2,
.next-2,
.prev-3,
.next-3 {
  display: none !important;
}

/* Social and share buttons */
.social_media_button,
.social_share,
#sidebar .social,
#meta {
  display: none !important;
}

/* Other interactive/non-print elements */
.nav-toggler,
.search-toggler,
button:not([type="submit"]),
.button-solid,
.button-with-arrow,
.scroll-indicator {
  display: none !important;
}

/* ==========================================================================
   Featured Image - Full Bleed Display
   ========================================================================== */

/* Remove any spacing before the banner */
.-container-flex,
.container-flex {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

#home-banner {
  width: 100vw !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  position: relative !important;
  left: 0 !important;
  right: 0 !important;
}

#home-banner .section-inner,
#home-banner .banner_slides,
#home-banner .banner_slide_item {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#home-banner img.full-width-absolute,
#home-banner .banner_slide_item img {
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  max-height: 350px !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Case study / feature page hero images */
#casestudy-strap,
.hero-image {
  width: 100vw !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 0 20px 0 !important;
}

#casestudy-strap .hero-image img,
.hero-image img {
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  max-height: 350px !important;
  object-fit: cover !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Banner content text */
#home-banner .banner-content-wrapper,
#home-banner .banner-text {
  display: none !important;
}

/* ==========================================================================
   Content Layout
   ========================================================================== */

html {
  height: 100% !important;
}

body {
  background: white !important;
  color: #3f4543 !important;
  font-family: Soleil, sans-serif !important;
  font-size: 11pt !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

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

#page_content {
  margin: 0 !important;
  padding: 15mm 15mm 5mm 15mm !important;
  width: 100% !important;
  float: none !important;
  box-sizing: border-box !important;
}

#content {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Space between banner and content */
#home-banner + #content,
#home-banner + section,
#casestudy-strap + #content,
#casestudy-strap + section {
  margin-top: 0 !important;
}

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

/* Feature page grids */
.grid,
.row {
  display: block !important;
}

.grid-block,
[class*="col-"] {
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin-bottom: 15px !important;
}

/* ==========================================================================
   Typography
   ========================================================================== */

h1 {
  font-size: 24pt !important;
  margin: 0 0 30px 0 !important;
  page-break-after: avoid !important;
}

h2 {
  font-size: 14pt !important;
  margin: 20px 0 10px 0 !important;
  page-break-after: avoid !important;
}

h3 {
  font-size: 14pt !important;
  margin: 15px 0 8px 0 !important;
  page-break-after: avoid !important;
}

h4,
h5 {
  font-size: 12pt !important;
  margin: 10px 0 5px 0 !important;
  page-break-after: avoid !important;
}

h6 {
  font-size: 12pt !important;
  font-weight: 700 !important;
  margin: 12px 0 6px 0 !important;
  page-break-after: avoid !important;
}

p {
  font-size: 11pt !important;
  margin: 0 0 10px 0 !important;
  orphans: 3 !important;
  widows: 3 !important;
}

/* Links - brand red color, no URL display */
a {
  color: #e52525 !important;
  text-decoration: underline !important;
}

/* Lists */
ul,
ol {
  margin: 0 0 15px 20px !important;
  padding: 0 !important;
  font-size: 11pt !important;
}

li {
  margin-bottom: 5px !important;
  font-size: 11pt !important;
}

/* ==========================================================================
   Images
   ========================================================================== */

img {
  max-width: 100% !important;
  height: auto !important;
  page-break-inside: avoid !important;
  print-color-adjust: exact !important;
  -webkit-print-color-adjust: exact !important;
}

figure {
  margin: 15px 0 !important;
  page-break-inside: avoid !important;
}

figcaption {
  font-size: 9pt !important;
  color: #666 !important;
  margin-top: 5px !important;
}

/* ==========================================================================
   Page Break Controls
   ========================================================================== */

h1,
h2,
h3,
h4,
h5,
h6 {
  page-break-after: avoid !important;
}

img,
figure,
table,
.contact {
  page-break-inside: avoid !important;
}

/* Avoid breaks inside key content blocks */
.feature-block,
.capability-item,
.service-item,
blockquote {
  page-break-inside: avoid !important;
}

/* ==========================================================================
   Tables
   ========================================================================== */

table {
  width: 100% !important;
  border-collapse: collapse !important;
  page-break-inside: avoid !important;
}

th,
td {
  border: 1px solid #ccc !important;
  padding: 8px !important;
  text-align: left !important;
  font-size: 10pt !important;
}

th {
  background: #f5f5f5 !important;
  print-color-adjust: exact !important;
  -webkit-print-color-adjust: exact !important;
}

/* ==========================================================================
   Running Footer - Logo on Every Page (Limited Browser Support)
   ========================================================================== */

body .print-running-footer,
div.print-running-footer,
.print-running-footer {
  display: block !important;
  visibility: visible !important;
  position: fixed !important;
  bottom: 12mm !important;
  right: 15mm !important;
  width: 130px !important;
  padding: 0 !important;
  z-index: 10000 !important;
  opacity: 1 !important;
}

body .print-running-footer img,
div.print-running-footer img,
.print-running-footer img {
  display: block !important;
  visibility: visible !important;
  width: 100% !important;
  height: auto !important;
  opacity: 1 !important;
}

/* ==========================================================================
   Print Contacts Section - End of Main Content
   ========================================================================== */

.print-contacts-section {
  display: block !important;
  width: 100% !important;
  padding: 0 15mm !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  page-break-inside: avoid !important;
}

.print-contacts-title {
  display: block !important;
  font-size: 18pt !important;
  font-weight: bold !important;
  color: #951b81 !important;
  margin: 0px 0 15px 0 !important;
  padding-top: 35px !important;
  border-top: 1px solid #d2d2d2 !important;
  text-transform: uppercase !important;
}

.print-contacts-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
  width: 100% !important;
}

.print-contacts-wrapper .contact {
  display: flex !important;
  align-items: flex-start !important;
  width: calc(33.33% - 14px) !important;
  page-break-inside: avoid !important;
}

.print-contacts-wrapper .contact .left {
  width: 50px !important;
  height: 50px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  margin-right: 12px !important;
  flex-shrink: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  print-color-adjust: exact !important;
  -webkit-print-color-adjust: exact !important;
}

.print-contacts-wrapper .contact .left img {
  display: none !important;
}

.print-contacts-wrapper .contact .right {
  flex: 1;
  text-align: left !important;
}

.print-contacts-wrapper .contact h3 {
  font-size: 11pt !important;
  margin: 0 0 2px 0 !important;
  font-weight: bold !important;
  color: #3f4543 !important;
  text-align: left !important;
}

.print-contacts-wrapper .contact p {
  font-size: 9pt !important;
  margin: 0 0 2px 0 !important;
  color: #3f4543 !important;
  text-align: left !important;
}

.print-contacts-wrapper .contact p img {
  width: 12px !important;
  height: auto !important;
  margin-right: 5px !important;
  vertical-align: middle !important;
}

.print-contacts-wrapper .contact p a {
  color: #e52525 !important;
  text-decoration: underline !important;
}

/* ==========================================================================
   Background Colors & Images - Force Print
   ========================================================================== */

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

/* Preserve brand colors where needed */
.purple-bg,
[style*="background-color: #5c2d91"],
[style*="background: #5c2d91"] {
  background-color: #5c2d91 !important;
  print-color-adjust: exact !important;
  -webkit-print-color-adjust: exact !important;
}
