/* Alela — the PDF edition of a design page.
   Loaded with media="print"; rendered via headless Chrome (tools/make_pdfs.py).
   Same HTML as the web page — this sheet only re-tailors it for paper. */

* { -webkit-print-color-adjust: exact; print-color-adjust: exact; }

@page { size: Letter; margin: 12mm 11mm 16mm 11mm; }

html, body { background: #FDF8F2 !important; }
body { padding-bottom: 10mm; }

/* Navigation, footer and cross-links belong to the site, not the document */
header, footer, .more, .no-print { display: none !important; }

main .wrap { max-width: none; padding-left: 0; padding-right: 0; }
.design-head { padding-top: 0; }

a { color: #C96F4E; text-decoration: none; }

/* Keep rows, cards and images whole across page breaks */
figure, img, .swatches, .plan-row, .brief-recap, .cell, .dframe,
.cart-row, .speech, tr { break-inside: avoid; page-break-inside: avoid; }
h2, h3 { break-after: avoid; page-break-after: avoid; }
.pkg-section { margin-top: 34px; }

.hero-img img { max-height: 480px; object-fit: cover; }

.cta-panel { background: #43272E !important; break-inside: avoid; page-break-inside: avoid; }
.cta-panel .btn { background: #E3AE5B !important; color: #43272E !important; }

/* Running footer on every printed page */
.pdf-footer {
  display: block !important;
  position: fixed; bottom: 0; left: 0; right: 0;
  text-align: center;
  font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase;
  color: #A98F80;
}

/* Curated sample pages keep the same printable content and Invitation fonts. */
.portfolio-page .skip-link, .portfolio-page .portfolio-back,
.portfolio-page .site-header-wrap { display: none !important; }
.portfolio-page .wrap { width: 100%; max-width: none; }
.portfolio-page { padding-bottom: 0; }
.portfolio-page .pkg { display: block; padding: 0; }
.portfolio-page .pkg-section:has(> .more) { display: none !important; }
.portfolio-page .pkg-section { margin-top: 24px; }
.portfolio-page .shopping-scroll { overflow: visible; }
.portfolio-page .shop, .portfolio-page .concept-grid .shop { min-width: 0; width: 100%; }
.portfolio-page .shop td { font-size: 14px; }
.portfolio-page .shop .why, .portfolio-page .shop-note { font-size: 12px; }
.portfolio-page .shop th { font-size: 9px; }
.portfolio-page .brief-recap { grid-template-columns: repeat(3, 1fr); }
.portfolio-page .brief-recap .cell { font-size: 15px; }
.portfolio-page .concept-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.portfolio-page .concept-grid p { font-size: 16px; line-height: 1.45; }
.portfolio-page .concept-grid .shop td { font-size: 13px; }
.portfolio-page .plan-row b { font-size: 18px; }
.portfolio-page .plan-row p { font-size: 16px; line-height: 1.45; }
.portfolio-page .pkg-section h2 { font-size: 28px; }
.portfolio-page .cta-panel, .portfolio-page .more { display: none !important; }
/* Keep the optional fresh-flower comparison and its ordering notes together. */
@media print {
  .fresh-flower-option { break-inside: avoid; page-break-inside: avoid; }
}

/* Compact long-form PDF edition. Opted into by the design source; screen
   styling and the actual-size printable templates remain independent. */
@page compact-design { size: Letter; margin: 11mm 11mm 14mm; }
html:has(body.compact-pdf) { background: #fff !important; }
.compact-pdf {
  page: compact-design;
  font-size: 14px;
  line-height: 1.35;
  background: transparent !important;
  position: relative;
  isolation: isolate;
}
/* Paint inside the print area (Chrome clips outside it). Clone the main
   element's padding across page fragments so the 6mm inset repeats. */
.compact-pdf::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background: #FDF8F2;
}
.compact-pdf main {
  padding: 6mm;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.compact-pdf .design-head { max-width: none; padding: 0 0 8px; }
.compact-pdf .design-head h1 { font-size: 38px; margin: 5px 0; }
.compact-pdf .design-head .for { font-size: 16px; margin-top: 5px; }
.compact-pdf .design-head > div:last-of-type { margin-top: 5px !important; }
.compact-pdf .sample-badge { margin-top: 8px; padding: 4px 7px; font-size: 8px; }
.compact-pdf .pkg { display: block; padding: 0; }
.compact-pdf .pkg-section { margin-top: 28px; }
.compact-pdf .pkg-section h2 { font-size: 22px; margin: 0 0 10px; }
.compact-pdf .pkg-section h3 { font-size: 20px !important; margin: 26px 0 10px !important; }
.compact-pdf .brief-recap { padding: 12px 16px; gap: 10px 18px; grid-template-columns: repeat(3, 1fr); }
.compact-pdf .brief-recap .cell { font-size: 14px; line-height: 1.3; }
.compact-pdf .brief-recap .cell b { font-size: 8px; margin-bottom: 2px; }
.compact-pdf .hero-img img { width: auto; max-width: 100%; height: auto; max-height: 250px; margin: 0 auto; object-fit: contain; }
.compact-pdf .hero-img figcaption { font-size: 10px; margin-top: 4px; text-align: center; }
.compact-pdf .concept-grid { grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 14px !important; }
.compact-pdf .dframe { aspect-ratio: auto; background: transparent; }
.compact-pdf .dframe img { width: 100%; height: auto; max-height: 235px; object-fit: contain; }
.compact-pdf .concept-copy { max-width: none !important; }
.compact-pdf p, .compact-pdf .concept-copy, .compact-pdf .concept-copy p,
.compact-pdf .concept-grid p, .compact-pdf .plan-row p {
  font-size: 14px !important; line-height: 1.35 !important;
}
.compact-pdf p { margin: 7px 0 !important; }
.compact-pdf .plan { display: block; }
.compact-pdf .plan-row { grid-template-columns: 140px 1fr; gap: 14px; padding: 7px 0; }
.compact-pdf .plan-row b { font-size: 15px; line-height: 1.2; }
.compact-pdf .plan-row p { margin: 0 !important; }
.compact-pdf .swatches { gap: 12px; }
.compact-pdf .swatch { min-width: 0; flex: 1; }
.compact-pdf .swatch .chip { height: 28px; }
.compact-pdf .swatch b, .compact-pdf .swatch > span { font-size: 9px; }
.compact-pdf table.shop td, .compact-pdf .concept-grid table.shop td { font-size: 13.33px; padding: 8px 10px 8px 0; line-height: 1.3; }
.compact-pdf table.shop .why, .compact-pdf p.shop-note { font-size: 12.33px !important; line-height: 1.3 !important; }
.compact-pdf table.shop th { font-size: 8px; padding-bottom: 6px; }
.compact-pdf .cart-row { gap: 15px; margin-top: 10px; }
.compact-pdf .total { font-size: 21px; }
.compact-pdf .btn { font-size: 10px; min-height: 0; padding: 8px 12px; }
.compact-pdf .speech { padding: 15px 18px; }
.compact-pdf .speech p { font-size: 17px !important; }
.compact-pdf .speech .credit { font-size: 11px; }

/* La Marée's shorter preparation image lets its closing toast stay with the
   setup, instead of creating a nearly empty final page. */
.compact-pdf.design-maree .hero-img:has(img[src*="maree-setup-v"]) img { max-height: 170px; }
.compact-pdf .venue-note { break-inside: avoid; }
.compact-pdf.design-maree .shopping-section { break-before: page; }
.compact-pdf.design-maree .product-alternative,
.compact-pdf.design-maree .concept-grid { break-inside: avoid; }

/* Keep Récolte’s favor explanation with its image and table. */
.compact-pdf.design-recolte .concept-grid { break-inside: avoid; }
