/* ==========================
   PRINT – Recette (TripCooking)
   Objectif: imprimer TOUT (étapes longues incluses)
   ========================== */

@media print {

  /* --- Réglages page --- */
  @page {
    size: A4;
    margin: 12mm;
  }

  /* --- Reset visuel pour éviter bugs print (ombres, transitions…) --- */
  * {
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
    animation: none !important;
    transition: none !important;
  }

  html, body {
    background: #fff !important;
    color: #000 !important;
    height: auto !important;
    min-height: 0 !important;
  }

  /* IMPORTANT: supprimer tout scroll/hauteur fixe => imprime tout */
  * {
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
  }

  /* --- Masquer éléments inutiles à l'impression --- */
  header,
  nav,
  footer,
  .topbar,
  .search,
  .btnIcon,
  .pill,
  button,
  .openIngredientsModal,
  .adminBtn,
  .gsp,
  .recette-hero-tags,
  .recette-stepControls,
  .recette-commentForm,
  .recette-commentLoginHint,
  #tempsOverlay,
  #modalTemps,
  #modalIngredients {
    display: none !important;
  }

  /* --- Forcer layout en une colonne (évite colonne droite "panneau") --- */
  .pageRecette,
  .feedRecette,
  .recette-shell,
  .recette-grid,
  .recette-left,
  .recette-right {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* --- Neutraliser sticky/fixed (souvent cause de troncature) --- */
  .recette-right,
  .recette-etapes,
  .block-header,
  .recette-hero,
  .recette-hero-media {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
  }

  /* --- Cartes : rendu “papier” (simple, lisible) --- */
  .card,
  .block,
  .recette-stepCard,
  .recette-commentaires,
  .recette-hero {
    background: #fff !important;
    border: 1px solid #ddd !important;
    border-radius: 10px !important;
  }

  .card,
  .block {
    padding: 10mm !important;
    margin: 0 0 8mm 0 !important;
  }

  /* --- Hero : limiter la hauteur image pour pas bouffer une page --- */
  .recette-hero-img {
    width: 100% !important;
    height: 55mm !important;
    object-fit: cover !important;
    border-radius: 10px !important;
  }

  .recette-hero-gradient {
    display: none !important;
  }

  .recette-hero-heading {
    font-size: 22pt !important;
    margin: 6mm 0 2mm 0 !important;
  }

  .recette-hero-sub {
    margin: 0 0 4mm 0 !important;
    font-size: 11pt !important;
  }

  /* --- Étapes : surtout ne pas tronquer --- */
  #etapes,
  .recette-etapes,
  .recette-stepsList {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  /* Chaque étape: éviter coupure au milieu (dans la mesure du possible) */
  .recette-stepCard {
    margin: 0 0 6mm 0 !important;
    padding: 6mm !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  /* Titre étape lisible */
  .recette-stepMeta {
    font-weight: 700 !important;
    font-size: 12pt !important;
  }

  /* Texte étape : garantir lisibilité */
  .recette-stepText {
    font-size: 11pt !important;
    line-height: 1.35 !important;
  }

  /* --- Commentaires : garder la liste, mais sans champs --- */
  .recette-commentsList {
    margin-top: 4mm !important;
  }

  .recette-comment {
    border: 1px solid #e5e5e5 !important;
    padding: 4mm !important;
    margin: 0 0 4mm 0 !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  /* --- Liens : afficher l'URL en petit (optionnel) --- */
  a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 9pt;
  }

  /* --- Éviter veuves/orphelines (amélioration) --- */
  p, li {
    orphans: 3;
    widows: 3;
  }
}

