@media print {
  @page { margin: 12mm; }

  /* =========================================================
     1) Stop animations / invisibility states
     ========================================================= */
  * { animation: none !important; transition: none !important; }
  .animated,
  .elementor-invisible,
  [data-settings*="animation"] {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  /* =========================================================
     2) Hide site chrome / common non-content blocks
     ========================================================= */
  header, nav, footer,
  .site-header, .site-footer,
  .main-navigation,
  .hfe-header, .hfe-footer,
  .woocommerce-breadcrumb,
  .newsletter, .subscribe, .mc4wp-form,
  .wp-armour, .wparmor, #wp-armour, .wpa, .honeypot,
  .share-bar, .share-btn,
  .comment-respond, .comments-area {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* =========================================================
     3) Don't print "(https://...)" after links
     ========================================================= */
  a[href]::after,
  a[href^="http"]::after,
  a[href^="mailto"]::after,
  a[href^="tel"]::after {
    content: "" !important;
    display: none !important;
  }

  /* =========================================================
     4) Baseline print hygiene
     ========================================================= */
  html, body { background: #fff !important; }
  * { box-shadow: none !important; text-shadow: none !important; filter: none !important; }

  img { max-width: 100% !important; height: auto !important; }

  /* IMPORTANT: don't scale all SVG like images (prevents huge icons) */
  svg { max-width: none !important; width: auto !important; height: auto !important; }

  /* =========================================================
     FIX HUGE GAP: hero banner uses background-image (.post-img)
     Background won't print -> blank space remains.
     Remove the banner box but keep its children.
     ========================================================= */
  .post-img {
    background: none !important;
    background-image: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;

    /* Elementor container variables often create the height/padding */
    --min-height: 0px !important;
    --container-min-height: 0px !important;
    --padding-top: 0px !important;
    --padding-right: 0px !important;
    --padding-bottom: 0px !important;
    --padding-left: 0px !important;
    --container-padding-top: 0px !important;
    --container-padding-right: 0px !important;
    --container-padding-bottom: 0px !important;
    --container-padding-left: 0px !important;

    /* Key: collapses empty banner while keeping title/meta inside */
    display: contents !important;
  }

  .post-img::before,
  .post-img::after {
    content: none !important;
    display: none !important;
    padding: 0 !important;
    margin: 0 !important;
    height: 0 !important;
  }

  /* Make hero text readable (often styled for dark image) */
  .post-title { color: #000 !important; }

  /* =========================================================
     HIDE BREADCRUMBS + POST INFO (HFE widgets)
     You specifically want these NOT to appear in print.
     ========================================================= */

  /* --- Breadcrumbs widget (data-id="935cfae") --- */
  .elementor-element.elementor-element-935cfae,
  .elementor-element[data-id="935cfae"],
  [data-id="935cfae"],
  [data-widget_type="hfe-breadcrumbs-widget.default"],
  .elementor-widget-hfe-breadcrumbs-widget,
  .post-bread,
  nav[aria-label="Breadcrumb"],
  .hfe-breadcrumbs {
    /* normal hide */
    display: none !important;

    /* HARD HIDE fallback (still removes it even if display gets overridden) */
    position: absolute !important;
    left: -9999mm !important;
    top: -9999mm !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }

  /* --- Post Info widget (data-id="6c3bbed") --- */
  .elementor-element.elementor-element-6c3bbed,
  .elementor-element[data-id="6c3bbed"],
  [data-id="6c3bbed"],
  [data-widget_type="post-info-widget.default"],
  .elementor-widget-post-info-widget,
  .hfe-post-info,
  .hfe-post-info-items,
  ul.hfe-post-info-inline {
    /* normal hide */
    display: none !important;

    /* HARD HIDE fallback */
    position: absolute !important;
    left: -9999mm !important;
    top: -9999mm !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }

  /* If any children still “leak” spacing, force them flat */
  .elementor-element[data-id="935cfae"] *,
  .elementor-element[data-id="6c3bbed"] * {
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Hide the helper div that stores featured image URL (just in case) */
  .hm-fi-url { display: none !important; }
}
