/* Designer+ (owner, 2026-10-26): the pages of the creations, in millimetres, for the print page and the Studio preview.
   Every text has its own zone, separate from the photographs; a zone too full is outlined (dz-over) before printing. */
.dz-sheet { position: relative; overflow: hidden; background: var(--dz-bg); color: var(--dz-ink); font-family: var(--dz-body); box-sizing: border-box; -webkit-print-color-adjust: exact; print-color-adjust: exact }
.dz-sheet *, .dz-sheet *::before { box-sizing: border-box }
/* the print page gives every sheet a white background: a creation keeps its own colours */
.sheet.dz-sheet { background: var(--dz-bg); color: var(--dz-ink) }
.sheet.dz-sheet.land { display: grid }
.dz-sheet.a4 { width: 210mm; height: 297mm }
.dz-sheet.a5 { width: 148mm; height: 210mm; font-size: 0.78em }
/* panels of exactly equal width (the folds), whatever their inner margins */
.dz-sheet.land { width: 297mm; height: 210mm; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr) }
.dz-sheet h1, .dz-sheet h2, .dz-sheet h3 { font-family: var(--dz-title); font-weight: 500; margin: 0; line-height: 1.1; text-wrap: balance }
.dz-frame { position: relative; overflow: hidden; background: var(--dz-panel); display: grid; place-items: center }
.dz-frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block }
.dz-nophoto { font-size: 9pt; letter-spacing: .14em; text-transform: uppercase; color: var(--dz-mute) }
.dz-full { position: absolute; inset: 0 }
.dz-over { outline: 2mm solid #e5484d; outline-offset: -2mm }
.dz-locked { position: absolute; left: 12mm; right: 12mm; bottom: 7mm; margin: 0; font-size: 7.5pt; color: var(--dz-mute); text-align: center }
.dz-logo { width: 16mm; height: 16mm; border-radius: 50%; border: .4mm solid var(--dz-acc); display: grid; place-items: center; font-family: var(--dz-title); font-size: 15pt; color: var(--dz-acc) }
.dz-small { font-size: 8.5pt; color: var(--dz-mute) }
/* the restaurant's own logo: shown whole in its box, never cut or stretched */
.dz-logo-img { width: 50mm; height: 18mm; display: flex; align-items: center; justify-content: center; overflow: hidden; flex: none }
.dz-sheet .dz-logo-img img { width: auto; height: auto; max-width: 50mm; max-height: 18mm; object-fit: contain; display: block }

/* cover: picture zone above, title zone below on the plain colour (never on the picture) */
.dz-cover .dz-cover-ph { position: absolute; inset: 0 0 34% 0 }
.dz-cover-tx { position: absolute; inset: 66% 12mm 10mm; display: grid; align-content: center; justify-items: center; gap: 4mm; text-align: center; overflow: hidden }
.dz-cover-tx h1 { font-size: 34pt; letter-spacing: .02em; max-width: 100%; overflow-wrap: anywhere }
.dz-cover-tx p { margin: 0; font-size: 11pt; color: var(--dz-mute); letter-spacing: .06em }
/* closing page: picture above, words below */
.dz-end .dz-end-ph { position: absolute; inset: 0 0 42% 0 }
.dz-end-tx { position: absolute; inset: 58% 14mm 10mm; display: grid; align-content: center; justify-items: center; gap: 3mm; text-align: center; overflow: hidden }
.dz-end-tx h2 { font-size: 26pt; color: var(--dz-acc) }
.dz-end-tx p { margin: 0; font-size: 10.5pt; max-width: 120mm }

/* classeur: photo page, then text page */
.dz-cl-in { position: absolute; inset: 22mm 18mm 20mm; display: grid; align-content: start; gap: 6mm; overflow: hidden }
.dz-cl-in h2 { font-size: 30pt }
.dz-price { margin: 0; font-size: 17pt; font-weight: 700; color: var(--dz-acc) }
.dz-desc { margin: 0; font-size: 12.5pt; line-height: 1.5 }
.dz-story { margin: 0; font-family: var(--dz-title); font-style: italic; font-size: 13pt; line-height: 1.55; color: var(--dz-mute); border-left: .6mm solid var(--dz-acc); padding-left: 5mm }
.dz-alg { margin: 0; font-size: 9.5pt; color: var(--dz-mute) }

/* dépliant: panels side by side (2 or 3), the fold between them */
.dz-panel { position: relative; min-width: 0; height: 100%; overflow: hidden }
.dz-panel + .dz-panel { border-left: .2mm dashed color-mix(in srgb, var(--dz-mute) 50%, transparent) }
.dz-dp-in .dz-panel { padding: 12mm 9mm 16mm; display: grid; align-content: start; gap: 8mm }
.dz-dp-out .dz-panel.dz-cover, .dz-dp-out .dz-panel.dz-end { position: relative }
.dz-dp-info { padding: 16mm 10mm; display: grid; align-content: center; gap: 5mm; text-align: center }
.dz-dp-info h3 { font-size: 20pt }
.dz-dp-info p { margin: 0; font-size: 9.5pt }
.dz-cat { display: grid; grid-template-columns: 30mm minmax(0, 1fr); gap: 5mm; align-items: start }
.dz-dp-in.f2 .dz-cat { grid-template-columns: 42mm minmax(0, 1fr) }
.dz-cat.dz-flip { grid-template-columns: minmax(0, 1fr) 30mm }
.dz-dp-in.f2 .dz-cat.dz-flip { grid-template-columns: minmax(0, 1fr) 42mm }
.dz-cat.dz-flip .dz-round { order: 2 }
.dz-round { aspect-ratio: 1; width: 100%; border-radius: 50%; border: 1.2mm solid var(--dz-acc); box-shadow: 0 0 0 .8mm var(--dz-bg), 0 0 0 1.1mm var(--dz-acc) }
.dz-cat-tx { min-width: 0 }
.dz-cat-tx h3 { font-size: 17pt; color: var(--dz-acc); margin-bottom: 3mm }
.dz-cat-tx ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2.6mm }
.dz-cat-tx li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5mm 3mm; font-size: 9.5pt }
.dz-cat-tx .dz-n { font-weight: 600 }
.dz-cat-tx .dz-p { font-weight: 700; color: var(--dz-acc) }
.dz-cat-tx em, .dz-cat-tx i { grid-column: 1 / -1; font-size: 8pt; color: var(--dz-mute) }
.dz-cat-tx i { font-style: normal }
.dz-chef { border: .5mm solid var(--dz-acc); border-radius: 2mm; padding: 2mm 2.5mm }
.dz-chef small { grid-column: 1 / -1; font-size: 7pt; letter-spacing: .16em; text-transform: uppercase; color: var(--dz-acc) }
.dz-abs { position: absolute }

/* menu enfant: black and white, for the office printer */
.dz-kids { background: #fff !important; color: #111 !important }
.dz-kids-in { position: absolute; inset: 14mm 16mm 18mm; overflow: hidden; display: grid; justify-items: center; align-content: start; gap: 4mm; text-align: center }
.dz-kids h1 { font-family: 'Caveat', var(--dz-title); font-size: 44pt; font-weight: 700 }
.dz-kids-r { margin: 0; font-size: 12pt; letter-spacing: .12em; text-transform: uppercase }
.dz-kids .dz-logo { border-color: #111; color: #111 }
.dz-kids .dz-logo-img img { filter: grayscale(1) }
.dz-draw { width: 150mm; height: 120mm; fill: none; stroke: #111; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round }
.dz-kids-l { list-style: none; margin: 0; padding: 0; width: 140mm; display: grid; gap: 3mm; max-height: 70mm; overflow: hidden }
.dz-kids-l li { display: flex; justify-content: space-between; gap: 6mm; font-family: 'Caveat', cursive; font-size: 20pt; border-bottom: .3mm dashed #888 }
.dz-kids .dz-locked { color: #444 }
