

/* ==========================================================================
   Terrae Patrimoine — feuille d'impression globale
   Thème oconnor / oconnor-child + WPBakery

   Couvre les trois gabarits observés :
     - page WPBakery (guide fiscal)
     - single-practice (contenu + barre latérale .sidebar-container)
     - single-case (colonne latérale WPBakery .aside)

   À coller dans le style.css du thème enfant.
   Remplace fiche-terrae-print.css / terrae-print.css.
   ========================================================================== */


  /* ======================================================================
     1. Format de page
     ====================================================================== */

  @page{
    size:A4 portrait;
    margin:14mm 15mm 22mm;   /* 22mm en bas : place pour le pied de page */
  }

  /* ======================================================================
     2. Ce qui ne s'imprime pas
     ====================================================================== */

  #loading,
  #wpadminbar,
  #back_to_top,

  /* En-tête et navigation */
  .gt3_header_builder,
  .sticky_header,
  .mobile_menu_container,
  .mobile-navigation-toggle,
  .header_search,
  .gt3_social,

  /* Barres latérales : .sidebar-container sur single-practice,
     .aside sur les colonnes WPBakery de single-case */
  .sidebar-container,
  aside.sidebar,
  .wpb_column.aside,
  .wpb_widgetised_column,
  .widget,

  /* Boutons, appels à l'action, prise de rendez-vous */
  .gt3_module_button,
  .rappel-btn,
  .calendly-overlay,
  .calendly-badge-widget,

  /* Bandeaux de logos partenaires */
  .logos1,

  /* Pied de page */
  .main_footer,
  .top_footer,
  .copyright,

  /* Bandeau cookies CookieYes */
  .cky-consent-container,
  .cky-modal,
  .cky-overlay,
  .cky-btn-revisit-wrapper,
  #cookieyes,

  /* Classe utilitaire : ajoute no-print à tout bloc à exclure */
  .no-print{
    display:none !important;
  }

  /* ======================================================================
     3. Remise à plat des conteneurs
     ====================================================================== */

  html,
  body{
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
    color:#000 !important;
    font-size:10.5pt !important;
    line-height:1.5 !important;
  }

  .site_wrapper,
  .main_wrapper,
  .container,
  .container_full,
  .row,
  .content-container,
  #main_content,
  .wpb-content-wrapper,
  .vc_row,
  .wpb_column,
  .vc_column_container,
  .vc_column-inner,
  .wpb_wrapper,
  .wpb_text_column,
  .wpb_content_element,
  .gt3_case_single,
  [class*="gt3_span"],
  [class*="vc_col-sm"]{
    width:auto !important;
    max-width:none !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    float:none !important;
    border:none !important;
    background:none !important;
    box-shadow:none !important;
  }

  /* Le thème anime l'apparition du contenu. */
  .fadeOnLoad,
  .wpb_animate_when_almost_visible{
    opacity:1 !important;
    transform:none !important;
    animation:none !important;
    transition:none !important;
  }

  /* ======================================================================
     4. En-tête et pied de page d'impression, générés en CSS
        Aucune modification du HTML n'est nécessaire.
     ====================================================================== */

  body::before{
    content:"Terrae Patrimoine — Conseil en gestion de patrimoine";
    display:block;
    min-height:16mm;
    padding:0 0 5mm 22mm;
    margin-bottom:7mm;
    border-bottom:1.5pt solid #1c3557;
    background-image:url("https://www.terrae-patrimoine.fr/wp-content/uploads/2020/04/logo-scaled.jpg");
    background-repeat:no-repeat;
    background-position:left top;
    background-size:18mm auto;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
    font-family:Montserrat,system-ui,sans-serif;
    font-size:8.5pt;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:#b39457;
    line-height:16mm;
  }

  body::after{
    content:"Terrae Patrimoine Bordeaux — 4 rue Bertrand Hauret, 33110 Le Bouscat — 06 52 39 45 87 — www.terrae-patrimoine.fr";
    position:fixed;
    bottom:-14mm;
    left:0;
    right:0;
    padding-top:2.5mm;
    border-top:.5pt solid #d9d2c4;
    font-family:Montserrat,system-ui,sans-serif;
    font-size:7.5pt;
    color:#5a6068;
    text-align:center;
  }

  /* ======================================================================
     5. Titre de page
        Ce bloc porte des styles en ligne (hauteur 500px, image de fond,
        texte blanc) et un padding injecté en JavaScript : tout est à
        neutraliser avec !important.
     ====================================================================== */

  .gt3-page-title_wrapper,
  .gt3-page-title,
  .gt3-page-title__inner,
  .gt3-page-title__content{
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    background:none !important;
    background-image:none !important;
    color:#000 !important;
  }

  .gt3-page-title_wrapper{
    margin-bottom:7mm !important;
  }

  .gt3-page-title .page_sub_title{
    font-family:Montserrat,system-ui,sans-serif !important;
    font-size:8pt !important;
    line-height:1.3 !important;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#b39457 !important;
    margin:0 0 2mm !important;
  }

  .gt3-page-title h1{
    color:#1c3557 !important;
    text-align:left !important;
  }

  .gt3_breadcrumb{display:none !important;}

  /* Image d'illustration en tête d'article : commenter la ligne
     ci-dessous pour la conserver à l'impression. */
  .gt3-single-practice_thumbnail{display:none !important;}

  /* ======================================================================
     6. Typographie
     ====================================================================== */

  h1,h1 a,h1 span{
    font-size:19pt !important;
    line-height:1.2 !important;
    margin:0 0 5mm !important;
    color:#1c3557 !important;
    break-after:avoid;
    page-break-after:avoid;
  }

  h2,h2 a,h2 span{
    font-size:14pt !important;
    line-height:1.25 !important;
    margin:7mm 0 2.5mm !important;
    color:#1c3557 !important;
    break-after:avoid;
    page-break-after:avoid;
  }

  h3,h3 a,h3 span{
    font-size:12pt !important;
    line-height:1.3 !important;
    margin:6mm 0 2mm !important;
    break-after:avoid;
    page-break-after:avoid;
  }

  h4,h4 a,h4 span,
  h5,h5 a,h5 span,
  h6,h6 a,h6 span{
    font-size:11pt !important;
    line-height:1.3 !important;
    margin:5mm 0 2mm !important;
    break-after:avoid;
    page-break-after:avoid;
  }

  p{
    margin:0 0 3mm !important;
    orphans:3;
    widows:3;
  }

  /* Paragraphes vides servant d'espacement dans WordPress */
  p:empty{display:none !important;}

  blockquote{
    margin:5mm 0 !important;
    padding:3mm 5mm !important;
    border-left:2pt solid #b39457 !important;
    font-size:10.5pt !important;
    break-inside:avoid;
  }

  blockquote::before{display:none !important;}

  u{text-decoration:underline;}

  /* ======================================================================
     7. Listes
        Le thème pose une puce SVG en data-URI qui ne s'imprime pas
        toujours : on repasse sur une puce classique.
     ====================================================================== */

  ul li{
    list-style-image:none !important;
    list-style-type:disc !important;
  }

  ul,ol{
    margin:0 0 3mm !important;
    padding-left:5mm !important;
  }

  li{
    margin:0 0 1mm !important;
    break-inside:avoid;
  }

  /* ======================================================================
     8. Liens
        Pas d'URL en clair : certaines pages contiennent des dizaines de
        liens, les afficher rendrait le document illisible.
     ====================================================================== */

  a,
  a:link,
  a:visited{
    color:#000 !important;
    text-decoration:none !important;
    border:none !important;
    box-shadow:none !important;
  }

  a[href]::after{content:"" !important;}

  /* Les liens de contenu restent repérables par un soulignement discret. */
  #main_content p > a,
  #main_content li > a{
    text-decoration:underline !important;
    text-decoration-color:#b39457 !important;
  }

  /* ======================================================================
     9. Images
     ====================================================================== */

  img{
    max-width:100% !important;
    height:auto !important;
    break-inside:avoid;
    page-break-inside:avoid;
  }

  figure{
    margin:4mm 0 !important;
    break-inside:avoid;
  }

  /* ======================================================================
     10. Tableaux (règles valables pour tout le site)
     ====================================================================== */

  .scroll{overflow:visible !important;}

  table{
    display:table !important;
    width:100% !important;
    border-collapse:collapse !important;
    font-size:9.5pt !important;
    margin:0 0 3mm !important;
    break-inside:auto;
  }

  thead{display:table-header-group !important;}  /* en-tête répété entre pages */
  tbody{display:table-row-group !important;}

  tr{
    display:table-row !important;
    break-inside:avoid;
    page-break-inside:avoid;
  }

  th,td{
    display:table-cell !important;
    padding:1.6mm 2.5mm !important;
    text-align:left !important;
    vertical-align:top !important;
  }

  thead th{
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
    background:#1c3557 !important;
    color:#fff !important;
    font-size:8.5pt !important;
    border-bottom:1pt solid #1c3557 !important;
  }

  tbody tr{border-bottom:.5pt solid #c9c2b4 !important;}

  /* ======================================================================
     11. Fiches synthétiques (.fiche)
     ====================================================================== */

  .fiche{max-width:none !important;margin:0 !important;}

  .fiche + .fiche{
    break-before:page;
    page-break-before:always;
    margin-top:0 !important;
    padding-top:0 !important;
    border-top:none !important;
  }

  .fiche .eyebrow{
    margin:0 0 2mm !important;
    font-size:8pt !important;
  }

  .fiche h2{font-size:11.5pt !important;}

  .fiche .chapo{
    margin:0 auto 5mm !important;
    font-size:10pt !important;
  }

  .fiche thead th.sub{background:#b39457 !important;}

  .fiche tbody tr:nth-child(odd){
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
    background:#f7f4ed !important;
  }

  .fiche tbody th{
    width:38%;
    color:#1c3557 !important;
    font-weight:600;
  }

  /* Neutralise la reprise des intitulés de colonne prévue pour le mobile */
  .fiche tbody td::before{
    content:"" !important;
    display:none !important;
  }

  .fiche ul.inline{
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
  }

  .fiche ul.inline li{
    list-style:none !important;
    margin:.5mm 0 !important;
    padding:0 0 0 3mm !important;
    position:relative;
  }

  .fiche ul.inline li::before{
    content:"·";
    position:absolute;
    left:0;
    color:#b39457;
  }

  .fiche .note,
  .fiche .encadre{
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
    break-inside:avoid;
    page-break-inside:avoid;
    font-size:9pt !important;
  }

  .fiche .note{margin:2mm 0 0 !important;padding:3mm 4mm !important;}
  .fiche .encadre{margin:5mm 0 0 !important;padding:4mm 5mm !important;}
  .fiche .encadre h3{font-size:10.5pt !important;margin:0 0 2mm !important;}
  .fiche .encadre p{margin:1.5mm 0 !important;}
