/* dosaie-menu v1.1 — shared stylesheet (also embedded per-page for print) */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: Georgia, 'Times New Roman', serif; color: #3a2415; background: #555; }

.page { width: 210mm; min-height: 296mm; padding: 12mm 13mm 16mm; margin: 5mm auto; background: #fffdf7; position: relative; box-shadow: 0 0 12px rgba(0,0,0,.4); }

header { text-align: center; border-bottom: 3px double #14532d; padding-bottom: 4mm; margin-bottom: 6mm; }
.brand { font-size: 40px; letter-spacing: 6px; color: #14532d; font-weight: bold; }
.tagline { font-style: italic; color: #7a5230; font-size: 13px; margin-top: 1.5mm; letter-spacing: 1px; }
.pagelabel { position: absolute; bottom: 6mm; left: 0; right: 0; text-align: center; font-size: 10px; color: #a08a6a; letter-spacing: 2px; }

.cols { column-count: 2; column-gap: 9mm; }
.cat { break-inside: avoid; margin-bottom: 5.5mm; }
.cat h2 { font-size: 16.5px; color: #14532d; border-bottom: 1px solid #e0c9a6; padding-bottom: 1.2mm; margin-bottom: 2.4mm; letter-spacing: 1.2px; }
.cat h2 .count { float: right; font-size: 10.5px; color: #a08a6a; font-style: italic; letter-spacing: 0; }

.item { display: flex; align-items: baseline; margin-bottom: 1.6mm; font-size: 12.5px; overflow: hidden; }
.item .name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.item .dots { flex: 1; border-bottom: 1px dotted #c9b28c; margin: 0 1.8mm; transform: translateY(-2px); }
.item .price { font-weight: bold; color: #7a4a1e; white-space: nowrap; }
.live { color: #2e7d32; font-size: 9px; margin-right: 1mm; }

footer { position: absolute; bottom: 10mm; left: 13mm; right: 13mm; border-top: 3px double #14532d; padding-top: 2.5mm; text-align: center; font-size: 10.5px; color: #7a5230; letter-spacing: 1px; }

@media print {
  body { background: #fff; }
  .page { box-shadow: none; margin: 0; page-break-after: always; width: 210mm; height: 296mm; overflow: hidden; }
  .page:last-child { page-break-after: avoid; }
}
@page { size: A4; margin: 0; }
