@page { size: A4 landscape; margin: 10mm; }

@media print {
  :root { --forest:#244737; --deep:#193629; --cream:#f6f2e9; --paper:#fffefa; --red:#b94d39; --ink:#1d2923; --muted:#46564b; --line:#d4d9cf; }
  *, *::before, *::after {
    box-sizing:border-box !important;
    animation:none !important; animation-delay:0s !important;
    transition:none !important; transition-delay:0s !important;
    opacity:1 !important; transform:none !important;
    filter:none !important; text-shadow:none !important; box-shadow:none !important;
    print-color-adjust:exact; -webkit-print-color-adjust:exact;
  }
  html, body, html.js-motion { width:auto !important; overflow:visible !important; scroll-behavior:auto !important; }
  body { background:white; color:var(--ink); font:10pt/1.4 system-ui,-apple-system,"Segoe UI",Arial,sans-serif; }
  p { color:var(--ink); margin:0 0 3mm; }
  h1,h2,h3,h4 { color:var(--forest); break-after:avoid; }
  h1 { font-size:32pt; line-height:1.08; margin-bottom:7mm; }
  h2, .coming h2 { font-size:23pt; line-height:1.1; margin-bottom:5mm; }
  h3 { font-size:14pt; }
  a { text-decoration:none; }
  a[href]::after { content:none !important; }
  img { max-width:100%; }
  .wrap, .narrow { width:100%; max-width:none; margin:0; }
  .section { padding:9mm 7mm 8mm; margin:0; background:white; break-before:page; break-after:auto; min-height:190mm; position:relative; }
  main > .section:first-child { break-before:auto; }
  .section::after { content:"Liquidation Marie · Olive & Tomate"; position:absolute; bottom:2mm; left:7mm; right:7mm; border-top:.25mm solid var(--line); padding-top:2mm; color:var(--forest); font-size:7.5pt; letter-spacing:.04em; }
  .site-header, .site-footer, .skip-link, .lightbox, .no-print, .hero .actions, .hero-image, .hero-caption,
  .gallery-item span, .contact-intro .actions, .order-call .button, .taplinks-card > .button,
  .coming-badge, .catalog-note, .evolution { display:none !important; }
  .eyebrow { font-size:8.5pt; margin-bottom:4mm; letter-spacing:.15em; color:var(--red); }
  .lead { font-size:11pt; line-height:1.5; }
  .section-head { display:block; margin-bottom:7mm; }
  .section-head > p, .section-head > div > p:not(.eyebrow) { max-width:190mm; }

  /* 1 — couverture */
  .hero { background:linear-gradient(135deg,#f6f2e9,#fffefa); padding:13mm 12mm 8mm; }
  .hero-grid { display:flex; flex-direction:column-reverse; align-items:flex-start; gap:12mm; }
  .hero-art { width:100%; }
  .hero-logo { position:static; width:87mm; padding:4mm; border:1px solid var(--line); background:white; border-radius:3mm; }
  .hero-logo img { width:100%; max-height:38mm; object-fit:contain; }
  .hero-copy { padding:0; max-width:205mm; }
  .hero-copy .lead { max-width:185mm; }
  .hero-note { font-size:10pt; color:var(--forest); margin-top:8mm; }
  .partner-line { position:absolute; right:12mm; top:18mm; width:auto; margin:0; padding:0; border:0; flex-direction:column; align-items:flex-end; gap:2mm; font-size:8pt; }
  .partner-line img { width:30mm; max-height:22mm; }

  /* 2 — bienvenue */
  .intro { display:flex; align-items:center; padding:17mm 20mm; background:#fffefa; }
  .intro .wrap { max-width:215mm; }
  .intro h2 { font-size:26pt; margin-bottom:10mm; }
  .intro p:not(.eyebrow) { font-size:12pt; line-height:1.6; margin-bottom:7mm; }

  /* 3 et 4 — gamme. La deuxième catégorie commence une nouvelle page. */
  .catalog { min-height:0; padding-bottom:8mm; }
  .catalog .section-head { margin-bottom:4mm; }
  .catalog .section-head > p { font-size:9.5pt; }
  .product-group { margin:4mm 0 0; break-inside:auto; }
  .product-group.print-other-products { break-inside:auto; }
  .print-pizzas + .print-other-products { break-before:page; padding-top:10mm; }
  .group-heading { margin-bottom:4mm; }
  .group-heading h3 { font-size:15pt; margin-bottom:2mm; }
  .group-heading span { font-size:8.5pt; }
  .product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4mm; }
  .product-card { break-inside:avoid; border:1px solid var(--line); border-radius:3mm; background:var(--paper); }
  .product-media { height:20mm; aspect-ratio:auto; background:#e9e8dc; }
  .product-media img { object-fit:cover; }
  .product-placeholder { background:linear-gradient(135deg,#e7eadc,#f5efe4); }
  .product-body { padding:2mm 3mm; }
  .product-body h4 { font-size:10pt; line-height:1.2; min-height:0; margin:0 0 2mm; }
  .product-details { font-size:9pt; padding-top:1mm; }
  .catalog::after { display:none; }

  /* 5 — photographies */
  .gallery-section { background:#fffefa; }
  .gallery-section .section-head { margin-bottom:5mm; }
  .gallery-grid { display:grid; overflow:visible; grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:repeat(3,38mm); gap:3mm; padding:0; }
  .gallery-item, .gallery-item:first-child { display:block; width:auto; height:auto; min-width:0; border:0; border-radius:2mm; padding:0; overflow:hidden; background:var(--cream); break-inside:avoid; }
  .gallery-item:first-child { grid-column:span 2; grid-row:span 3; }
  .gallery-item img { width:100%; height:100%; object-fit:cover; }

  /* 6 — mise en marché */
  .merchandising { background:#f4f6f0; }
  .merchandising .section-head { display:grid; grid-template-columns:1fr 1.15fr; gap:8mm; margin-bottom:7mm; }
  .merchandising .section-head p { font-size:9.5pt; }
  .subhead { font-size:15pt; margin-bottom:4mm; }
  .principles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4mm; }
  .principles article { padding:5mm; border:1px solid var(--line); border-radius:3mm; break-inside:avoid; }
  .principles h4 { font-size:12pt; margin:2mm 0; }
  .principles p, .merchandising-note { font-size:9.5pt; }
  .merchandising-note { margin-top:5mm; padding-top:3mm; max-width:none; }

  /* 7 — démarrage */
  .steps-section { background:#fffefa; }
  .steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5mm; border:0; }
  .steps article { margin:0; padding:5mm; min-height:48mm; border:1px solid var(--line) !important; border-radius:3mm; break-inside:avoid; }
  .steps h3 { font-size:12pt; margin:3mm 0; }
  .steps p { font-size:9.5pt; }

  /* 8 — commande */
  .orders { color:var(--ink); background:#f3f6f0; display:flex; align-items:center; }
  .orders-layout { display:grid; grid-template-columns:1.3fr .7fr; gap:10mm; width:100%; }
  .orders .eyebrow { color:var(--red); }
  .orders .lead, .delivery-note { color:var(--ink); }
  .order-phone { display:block; font-size:25pt; color:var(--forest); white-space:nowrap; }
  .delivery-note { grid-column:1/-1; font-size:10pt; border-color:var(--line); margin-top:9mm; padding-top:5mm; }

  /* 9 — nouveautés et réponses essentielles, sans répéter toute la FAQ. */
  .coming { min-height:0; padding:9mm 7mm 5mm; background:#fffefa; break-before:page; }
  .coming::after { display:none; }
  .coming-inner { display:block; }
  .coming h2 { font-size:19pt; margin-bottom:3mm; }
  .coming p { font-size:9pt; margin-bottom:2mm; }
  .faq { min-height:0; padding:3mm 7mm 8mm; background:#fffefa; break-before:auto; }
  .faq .split { display:block; }
  .faq .split > div:first-child { margin-bottom:3mm; }
  .faq .split > div:first-child p:not(.eyebrow) { display:none; }
  .faq h2 { font-size:17pt; margin-bottom:1mm; }
  .faq-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2mm 6mm; border:0; }
  .faq details { display:block; border-bottom:1px solid var(--line); break-inside:avoid; }
  .faq .print-faq-extra { display:none; }
  .faq summary { display:block; padding:2mm 0 1mm; font-size:9.5pt; cursor:default; }
  .faq summary span { display:none; }
  .faq details > p { display:block !important; padding:0; margin:0 0 2mm; font-size:8.5pt; line-height:1.3; }

  /* 10 — coordonnées et accès au profil */
  .contact { background:#eef2ea; color:var(--ink); }
  .contact-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:4mm 7mm; }
  .contact-intro { grid-column:1/-1; margin:0; }
  .contact-intro h2 { font-size:20pt; margin-bottom:2mm; }
  .contact-intro .lead { color:var(--ink); font-size:9.5pt; margin-bottom:1mm; }
  .contact-card, .taplinks-card { height:auto; padding:5mm; border:1px solid var(--line); border-radius:3mm; background:white; }
  .contact-card > strong { font-size:16pt; }
  .contact-card dl { display:grid; grid-template-columns:34mm 1fr; gap:2mm 3mm; margin-top:4mm; padding-top:3mm; font-size:8.5pt; }
  .contact-card dt, .taplinks-qr small { color:var(--muted); }
  .taplinks-card { display:block; }
  .taplinks-card h3 { font-size:15pt; margin-bottom:2mm; }
  .taplinks-card p:not(.eyebrow) { font-size:8.5pt; margin-bottom:1mm; }
  .taplinks-qr { width:47mm; margin:3mm auto 0; }
  .taplinks-qr a { padding:1.5mm; border:1px solid var(--line); border-radius:0; background:white; }
  .taplinks-qr img { width:100%; height:auto; aspect-ratio:1; object-fit:contain; image-rendering:auto; }
  .taplinks-qr small { font-size:7.5pt; margin-top:1mm; }
  .taplinks-card::after { content:"tap-links.ca/olivetomate?u=pptlm"; display:block; text-align:center; margin-top:2mm; color:var(--forest); font-size:8pt; }
}
