/**
 * Print stylesheet for Contentor-hs.
 * Loaded with media="print" — no @media wrapper needed.
 */

/* Reset to readable defaults */
html,
body {
    background: #fff !important;
    color: #000 !important;
    font-size: 11pt;
    line-height: 1.45;
}

* {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

a {
    color: #000 !important;
    text-decoration: underline;
}

/* Hide chrome: logo, navigation, CTAs, language switchers, mobile menu, footer columns */
.gradient-header-content,
.mobile-menu-toggle,
.gradient-header-menu,
.gradient-header-nav-desktop,
.gradient-header-language,
.gradient-header-cta,
.gradient-header-login,
.contentor-footer__newsletter,
.contentor-footer__language-wrapper,
.contentor-footer__certifications,
.contentor-footer__nav-wrapper {
    display: none !important;
}

/* Defuse any sticky/fixed positioning that would repeat on every printed page */
.contentor-gradient-header,
.contentor-gradient-header * {
    position: static !important;
}

/* Strip decorative gradient/effect layers from header */
.contentor-gradient-header .section-border,
.contentor-gradient-header .section-background,
.contentor-gradient-header .background-fx-canvas,
.section-wrapper__effect-stroke {
    display: none !important;
}

.contentor-gradient-header,
.contentor-gradient-header .page-section,
.contentor-gradient-header .gradient-section {
    background: none !important;
    min-height: 0 !important;
    padding: 0 !important;
}

/* Flatten hero layout */
.gradient-header-hero {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Neutralize section-wrapper visuals (gradients, presets, decorative strokes).
   Also undo the plugin's own @media print rule which sets `break-inside: avoid`
   on every section-wrapper — that causes large sections to be pushed to a new
   page and leave blank pages behind. */
.wp-block-hs-section-wrapper,
[class*="theme-preset--"] {
    background: none !important;
    padding: 0.5rem 0 !important;
    margin: 0 !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
}

.wp-block-hs-section-wrapper .section-wrapper__container {
    padding: 0 !important;
    max-width: 100% !important;
}

/* Dark/colored presets set white text via `.theme-preset--X { color: #fff }`
   and `.theme-preset--X :is(h1..h6, p, li)` — specificity (0,1,0)/(0,1,1) beats
   our universal `* { color: #000 }`. Force black text inside any preset wrapper. */
[class*="theme-preset--"],
[class*="theme-preset--"] :is(h1, h2, h3, h4, h5, h6, p, li, blockquote, span, a, div, button, strong, em) {
    color: #000 !important;
}

/* Slim footer to brand/contact info */
.contentor-footer,
.contentor-footer__main,
.contentor-footer__container {
    background: none !important;
    padding: 1rem 0 !important;
    border-top: 1px solid #999;
}

/* Images and media: avoid splitting and overflow */
img,
svg {
    max-width: 100% !important;
    height: auto !important;
    page-break-inside: avoid;
}

iframe,
video {
    display: none !important;
}

/* FAQ: force every item open so both question and answer print */
.hs-faq .hs-faq__item__answer {
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
    border-top: 1px solid #ccc !important;
}

.hs-faq .hs-faq__item__answer-content {
    padding: 0.5rem 0 1rem !important;
}

.hs-faq .hs-faq__item {
    border-bottom: 1px solid #ccc !important;
    padding: 0.5rem 0 !important;
}

.hs-faq .hs-faq__item__toggle {
    display: none !important;
}

/* Typography & page-breaks */
h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid;
    page-break-inside: avoid;
}

p, li, blockquote {
    orphans: 3;
    widows: 3;
}

table, pre, blockquote, figure {
    page-break-inside: avoid;
}

/* hs/hero block: kill the 2-column flex layout (inline width:50% + overflow:hidden
   clips title/intro on narrow print viewport). Stack as block, full width. */
.hs-hero,
.hs-hero__container,
.hs-hero__inner,
.hs-hero__media {
    display: block !important;
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 0 0.5rem !important;
}

.hs-hero--text-only {
    max-width: 100% !important;
}

.hs-hero__media img {
    max-height: 4cm !important;
    width: auto !important;
    margin: 0.5rem 0 !important;
}

.hs-hero__title,
.hs-hero__text,
.hs-hero__text p,
.hs-hero__eyebrow {
    max-width: 100% !important;
    width: auto !important;
    color: #000 !important;
    opacity: 1 !important;
}

.hs-hero__title {
    font-size: 22pt !important;
    line-height: 1.15 !important;
    margin: 0 0 0.5rem !important;
}

.hs-hero__text,
.hs-hero__text p {
    font-size: 12pt !important;
    line-height: 1.45 !important;
}

/* Customer logos: rendered as <img> with white-fill SVGs baked in (light mode).
   filter: brightness(0) turns any non-transparent pixel black.
   print-color-adjust: exact prevents browsers from stripping the filter to save ink. */
body .wp-block-hs-customers .hs-customer-logo-wrapper img,
body .wp-block-hs-customers .hs-customer-logo-wrapper svg,
body .hs-customer-logo-wrapper img,
body .hs-customer-logo-wrapper svg {
    filter: brightness(0) !important;
    opacity: 1 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
}

/* Grid cards: stack vertically so cards don't overflow page width,
   hide the absolute-positioned overlay link, and ensure all inner buttons render. */
.hs-grid-cards {
    display: block !important;
    margin: 1rem 0 !important;
}

.hs-grid-cards__box {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 0 1rem !important;
    padding: 0.75rem !important;
    border: 1px solid #ccc;
    overflow: visible !important;
}

.hs-grid-cards__card-link {
    display: none !important;
}

.hs-grid-cards__content,
.hs-grid-cards__inner-content {
    display: block !important;
}

/* Buttons inside cards: stack vertically, all visible */
.hs-grid-cards .hs-buttons {
    display: block !important;
}

.hs-grid-cards .hs-buttons a {
    display: inline-flex !important;
    margin: 0.15rem 0 !important;
}

/* Footnote markers + collected URL list (built by print-footnotes.js) */
.print-footnote-ref {
    font-size: 80%;
    vertical-align: super;
    margin-left: 1px;
    line-height: 0;
    color: #000 !important;
}

#print-footnotes-list {
    display: block;
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid #999;
    font-size: 10pt;
    break-before: auto;
    page-break-before: auto;
}

#print-footnotes-list h2 {
    font-size: 12pt;
    margin: 0 0 0.75rem;
}

#print-footnotes-list ol {
    padding-left: 1.75rem;
    margin: 0;
}

#print-footnotes-list li {
    margin-bottom: 0.35rem;
    word-break: break-all;
}

/* Page margins */
@page {
    margin: 1.6cm 1.4cm;
}
