/* ============================================================
   PRINT STYLES — proteallp.com/people/alix-herber/
   
   DEPLOY: WP Admin → Appearance → Customize → Additional CSS
   
   Layout: Photo right-aligned, name/title/contact left.
   Content sections use browser native column wrapping.
   April 2026.
   ============================================================ */

@media print {

  @page {
    margin: 18mm 16mm 18mm 16mm;
    size: letter portrait;
  }

  /* --- HIDE CHROME --- */
  .elementor-location-header,
  .elementor-location-footer,
  header,
  footer,
  #wpadminbar,
  .ph-sticky-header,
  .dt-sticky-placeholder {
    display: none !important;
  }

  /* --- HIDE NON-PRINT ELEMENTS --- */
  .elementor-element-0702a68 a[href$=".vcf"] { display: none !important; }
  .elementor-element-0702a68 a[href*="linkedin"],
  .elementor-element-0702a68 img[alt*="LinkedIn"],
  .elementor-element-0702a68 img[src*="linkedin"] { display: none !important; }
  .elementor-element-8d2810f { display: none !important; }
  .elementor-widget-spacer,
  .elementor-widget-divider { display: none !important; }
  .elementor-widget-the7_button_widget,
  .elementor-widget-button { display: none !important; }

  /* --- HERO: Photo right, text left --- */
  .elementor-element-4b4f190 {
    padding: 0 0 6pt 0 !important;
    border-bottom: 1pt solid #ccc !important;
    margin-bottom: 2pt !important;
  }
  .elementor-element-4b4f190 > .elementor-container {
    display: flex !important;
    flex-direction: row-reverse !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
  }
  .elementor-element-aaefd70 {
    flex: 0 0 130pt !important;
    width: 130pt !important;
    max-width: 130pt !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  .elementor-element-aaefd70 img,
  .elementor-element-76b5ec7 img {
    width: 100pt !important;
    max-width: 100pt !important;
    height: auto !important;
    object-fit: contain !important;
    overflow: visible !important;
  }
  .elementor-element-0d3601f {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
  }
  .elementor-element-0d3601f > .elementor-widget-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-content: flex-start !important;
    align-items: flex-start !important;
    padding: 0 !important;
    gap: 0 !important;
  }
  .elementor-element-5e33e4f { order: 1 !important; margin-bottom: 1pt !important; }
  .elementor-element-271474c { order: 2 !important; margin-bottom: 4pt !important; }
  .elementor-element-0702a68 { order: 3 !important; margin-bottom: 0 !important; }

  /* --- SECTION SPACING --- */
  .elementor-top-section {
    padding-top: 2pt !important;
    padding-bottom: 2pt !important;
  }

  /* --- BASE TYPOGRAPHY --- */
  body {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 10.5pt !important;
    line-height: 1.4 !important;
    color: #111 !important;
  }

  /* --- NAME: Alix P. Herber (h2) --- */
  #main .elementor-element-5e33e4f h2.elementor-heading-title,
  #main .elementor-element-5e33e4f .elementor-heading-title,
  #main .elementor-element-5e33e4f h2 {
    font-family: Georgia, serif !important;
    font-size: 20pt !important;
    font-weight: bold !important;
    text-align: left !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin: 0 0 1pt 0 !important;
    line-height: 1.2 !important;
    color: #111 !important;
  }
  .elementor-element-5e33e4f {
    --the7-h2-text-transform: none !important;
  }

  /* --- ROLE: Founder & Partner (h4) --- */
  #main .elementor-element-271474c h4.elementor-heading-title,
  #main .elementor-element-271474c .elementor-heading-title,
  .elementor-element-271474c h4 {
    font-family: Georgia, serif !important;
    font-size: 8pt !important;
    font-weight: normal !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5pt !important;
    color: #555 !important;
    text-align: left !important;
    margin: 0 !important;
  }

  /* --- TAGLINE + CONTACT --- */
  .elementor-element-0702a68 h3 {
    font-size: 9pt !important;
    font-style: italic !important;
    margin: 0 0 3pt 0 !important;
    line-height: 1.3 !important;
  }
  .elementor-element-0702a68 p,
  .elementor-element-0702a68 div:not(.alix-profile-actions) {
    font-size: 9pt !important;
    line-height: 1.3 !important;
    margin: 0 0 1pt 0 !important;
  }

  /* --- QR CODE --- */
  .elementor-element-0702a68 img[alt*="QR"] {
    width: 45pt !important;
    height: 45pt !important;
    margin-top: 2pt !important;
  }

  /* --- SECTION HEADINGS (all h3) --- */
  #main h3 {
    font-family: Georgia, serif !important;
    font-size: 11pt !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5pt !important;
    border-bottom: 0.75pt solid #999 !important;
    padding-bottom: 2pt !important;
    margin: 6pt 0 3pt 0 !important;
    color: #111 !important;
  }

  /* --- BODY TEXT --- */
  #main p {
    font-size: 10pt !important;
    text-align: left !important;
    margin: 0 0 3pt 0 !important;
    line-height: 1.35 !important;
    orphans: 3;
    widows: 3;
  }

  /* --- ICON LISTS --- */
  .elementor-icon-list-icon svg {
    fill: #333 !important;
    color: #333 !important;
    width: 9pt !important;
    height: 9pt !important;
  }
  .elementor-icon-list-text {
    font-size: 9.5pt !important;
    color: #111 !important;
  }
  .elementor-icon-list-item {
    margin-bottom: 1pt !important;
  }

  /* --- LINKS --- */
  a, a:visited {
    color: #111 !important;
    text-decoration: none !important;
  }
  a[href]::after {
    content: none !important;
  }

  /* --- STRIP BACKGROUNDS --- */
  .elementor-section,
  .elementor-column,
  .e-con,
  .elementor-widget,
  #main,
  .content,
  .page-inner {
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
  }

  /* --- PAGE BREAKS --- */
  h2, h3 { page-break-after: avoid !important; }
  p, li { page-break-inside: avoid !important; }



  /* ----------------------------------------------------------
     14. CONTENT — reset Elementor stretch-section inline styles
     Sections have inline: width:1624px; left:-242px which
     pushes content off-page in print.
  ---------------------------------------------------------- */
  .elementor-top-section,
  .elementor-section {
    width: 100% !important;
    left: auto !important;
    right: auto !important;
    position: relative !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #main .elementor-container {
    max-width: 100% !important;
    width: 100% !important;
  }

  /* ----------------------------------------------------------
     15. RESET ELEMENTOR ANIMATIONS — force visible in print
     Elements with entrance animations stay at opacity:0 and
     offset transforms since scroll events don't fire in print.
  ---------------------------------------------------------- */
  .elementor-invisible,
  .elementor-widget.elementor-invisible {
    visibility: visible !important;
    opacity: 1 !important;
  }

  [data-settings*="animation"],
  .elementor-element[data-settings],
  .animated,
  .elementor-widget,
  .elementor-column,
  .elementor-section,
  .elementor-top-section,
  .e-con {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
    visibility: visible !important;
  }


  /* ----------------------------------------------------------
     16. STRIP ALL SECTION BORDERS — prevents stray lines
     The line above Education comes from Recognitions section
  ---------------------------------------------------------- */
  .elementor-top-section,
  .elementor-top-section::before,
  .elementor-top-section::after,
  .elementor-top-section > .elementor-container,
  .elementor-top-section > .elementor-container::before,
  .elementor-top-section > .elementor-container::after {
    border: none !important;
    outline: none !important;
  }

  /* Re-apply only the hero bottom border */
  .elementor-element-4b4f190 {
    border-bottom: 1pt solid #ccc !important;
  }

  /* Re-apply heading underlines */
  #main h3 {
    border-bottom: 0.75pt solid #999 !important;
  }


  /* Hide empty heading elements (Education has a ghost h3) */
  #main h3:empty,
  .elementor-heading-title:empty {
    display: none !important;
  }


  /* Hide Print Profile button in print */
  .print-profile-btn {
    display: none !important;
  }

} /* End @media print */