/* =============================
   MODERN MINIMAL MENU (A4)
   Чистая типографика, линии-лидеры, ET приоритет
   ============================= */
:root {
  --bg: #ffffff;
  --ink: #111318;
  --muted: #6b7280;
  --line: #e0e3ea;
  --accent: #111318;
  --heading-font: system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, sans-serif;
  --text-font: system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, sans-serif;
}

*{box-sizing:border-box}
html,body{height:100%}
@page{size:A4;margin:0}

body{margin:0;background:#f6f7fb;color:var(--ink);font-family:var(--text-font);}
.page{width:210mm;min-height:297mm;margin:8mm auto;background:var(--bg);box-shadow:0 6px 18px rgba(17,19,24,.08);border-radius:10px;border:1px solid #eceff4}
.menu-layout-spacious .page{margin:10mm auto;box-shadow:0 8px 20px rgba(17,19,24,.08)}
.canvas{padding:10mm}

/* Header */
header.menu-header{margin-bottom:4mm;text-align:center}
.brand{font-family:var(--heading-font);font-weight:800;letter-spacing:.4px;margin:0;font-size:26px}
.tagline{margin:3px 0 0;color:var(--muted);font-size:12px;letter-spacing:.2px}
.rule{height:1px;background:#dfe3ea;margin:4mm 0}

/* Sections */
section.menu-section{margin-bottom:5mm}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap;margin:0 0 3mm}
.section-title{font-family:var(--heading-font);font-weight:700;font-size:12.5px;letter-spacing:1.2px;color:var(--accent);opacity:.85;margin:0;text-transform:uppercase}
.menu-section-badged{position:relative}
.section-badge{position:absolute;top:-16px;left:-18px;display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;background:#efefef;color:#333;font-size:10px;font-weight:800;letter-spacing:.35px;white-space:nowrap;transform:rotate(-10deg);pointer-events:none;z-index:1;border:1px solid #d2d2d2;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.menu-dual{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;align-items:start;margin-bottom:5mm}
.menu-dual .menu-dual-column:first-child{padding-right:6mm}
.menu-dual .menu-dual-column + .menu-dual-column{border-left:1px solid var(--line);padding-left:6mm}
.menu-dual .menu-section{margin-bottom:0}
.menu-section-single-list .menu-list{column-count:1!important;column-gap:0!important;column-rule:none!important}

/* Two-column layout with vertical rule */
.menu-list{column-count:1;column-gap:10mm;column-rule:1px solid var(--line)}
@media (min-width:900px){ .menu-list{column-count:2} }
@media print{ .menu-list{column-count:2} }

.entry{break-inside:avoid;padding:2px 0}
.menu-layout-spacious .entry{padding:4px 0}
.entry-with-options{padding-bottom:4px}
.entry-options{margin-top:2px;padding-left:4mm}
.option-row{display:grid;grid-template-columns:auto 1fr auto;gap:3mm;align-items:baseline;padding:2px 0}
.option-names{display:block}
.option-names .primary{display:block;font-size:13px;font-weight:600}
.option-names .secondary{display:block;font-size:10px;color:var(--muted);margin-top:1px}
.option-leader{align-self:center;border-bottom:1px solid var(--line);margin:0 4px}
.option-price{font-weight:700;white-space:nowrap;font-size:13px}

/* Строка с лидером-линией между названием и ценой */
.row{display:grid;grid-template-columns:auto 1fr auto;gap:4mm;align-items:baseline}
.row-parent{display:block}
.leader{align-self:center;border-bottom:1px solid var(--line);margin:0 4px}
.names{display:block}
.names .primary{display:block;font-weight:700;font-size:14px}
.names .secondary{display:block;font-size:11px;color:var(--muted);margin-top:1px;letter-spacing:.1px}
.price{font-weight:700;white-space:nowrap;font-size:13px}
.desc{margin-top:4px;color:var(--muted);font-size:12.5px;line-height:1.35}

/* Footer */
footer.menu-footer{margin-top:4mm;font-size:11px;color:var(--muted);display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center}
.contact{display:flex;gap:10px;flex-wrap:wrap}
.qr{display:none;justify-self:end;padding:4px;border-radius:8px}
.qr img{display:block;width:24mm;height:24mm}

/* Print button */
.print-button{position:sticky;top:10px;left:0;width:max-content;margin:10px;padding:10px 14px;border:1px solid #e6e9f0;background:#fff;border-radius:12px;cursor:pointer;font-weight:700;box-shadow:0 6px 16px rgba(17,19,24,.06)}
.print-button:hover{transform:translateY(-1px)}
.desktop-only{display:inline-flex}

@media screen and (max-width:768px){
  .menu-dual{grid-template-columns:1fr}
  .menu-dual .menu-dual-column:first-child{padding-right:0}
  .menu-dual .menu-dual-column + .menu-dual-column{border-left:none;padding-left:0}
  .desktop-only{display:none}
  .page{width:100%;margin:0;border-radius:0;border:none;box-shadow:none}
  .menu-layout-spacious .page{margin:0;box-shadow:none}
  .canvas{padding:16px 14px}
  header.menu-header{margin-bottom:8px}
  .brand{font-size:22px}
  .tagline{font-size:11px}
  .menu-list{column-count:1;column-gap:0;column-rule:none}
  .section-head{margin-bottom:4px}
  .section-title{font-size:12px}
  .section-badge{top:-12px;left:-8px;font-size:9px;padding:2px 7px}
  .entry{padding:10px 0;border-bottom:1px solid #eceff4}
  .menu-layout-spacious .entry{padding:10px 0}
  .row{display:flex;justify-content:space-between;align-items:flex-start;gap:6px}
  .row-parent{display:block}
  .leader{display:none}
  .names .primary{font-size:15px}
  .names .secondary{font-size:11px}
  .price{font-size:15px}
  .entry-with-options{padding-bottom:12px}
  .entry-options{margin-top:8px;padding-left:12px;border-left:2px solid var(--line)}
  .option-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:5px 0}
  .option-leader{display:none}
  .option-names{min-width:0}
  .option-names .primary{font-size:14px}
  .option-names .secondary{font-size:10.5px}
  .option-price{font-size:14px}
}

@media print{
  html,body{background:#ffffff!important;margin:0!important;font-size:14px!important;line-height:1.3!important}
  .page{margin:0!important;width:100%!important;min-height:auto!important;border:none!important;border-radius:0!important;box-shadow:none!important;background:#ffffff!important}
  .canvas{padding:3.5mm 5mm!important}
  header.menu-header{margin-bottom:2.5mm!important}
  .brand{font-size:25px!important;line-height:1!important}
  .tagline{font-size:11px!important;margin-top:1px!important}
  .rule{margin:2.5mm 0!important}
  section.menu-section{margin-bottom:3.8mm!important}
  .section-head{margin-bottom:2mm!important}
  .menu-dual{margin-bottom:3.8mm!important}
  .menu-dual .menu-dual-column:first-child{padding-right:4mm!important}
  .menu-dual .menu-dual-column + .menu-dual-column{padding-left:4mm!important}
  .menu-list{column-gap:5mm!important}
  .entry{padding:2px 0!important}
  .menu-layout-spacious .entry{padding:2px 0!important}
  .entry-with-options{padding-bottom:2px!important}
  .row{gap:2mm!important}
  .names .primary{font-size:14px!important}
  .names .secondary{font-size:10.6px!important;margin-top:0!important}
  .price{font-size:14px!important}
  .entry-options{margin-top:0!important;padding-left:2.5mm!important}
  .option-row{padding:.5px 0!important;gap:2mm!important}
  .option-names .primary{font-size:12.8px!important}
  .option-names .secondary{font-size:9.8px!important;margin-top:0!important}
  .option-price{font-size:12.8px!important}
  .qr{display:block!important;position:fixed!important;top:3mm!important;right:4mm!important;bottom:auto!important;margin-top:0!important;padding:0!important;break-before:avoid!important;page-break-before:avoid!important}
  .qr img{width:14mm!important;height:14mm!important}
  .section-title{font-size:12px!important;letter-spacing:.9px!important}
  .drinks-menu .menu-sections{column-count:2!important;column-gap:5mm!important;column-rule:1px solid var(--line)!important}
  .drinks-menu section.menu-section{margin-bottom:4.2mm!important}
  .drinks-menu .section-head{margin-bottom:2.2mm!important}
  .drinks-menu .menu-section{break-inside:avoid!important;page-break-inside:avoid!important}
  .drinks-menu .menu-list{column-count:1!important;column-gap:0!important;column-rule:none!important}
  .drinks-menu .entry{padding:2.4px 0!important}
  .drinks-menu .entry-with-options{padding-bottom:2.4px!important}
  .drinks-menu .names .primary{font-size:14.6px!important}
  .drinks-menu .names .secondary{font-size:10.8px!important}
  .drinks-menu .price{font-size:14.6px!important}
  .drinks-menu .option-row{padding:1px 0!important}
  .drinks-menu .option-names .primary{font-size:13.3px!important}
  .drinks-menu .option-names .secondary{font-size:10.1px!important}
  .drinks-menu .option-price{font-size:13.3px!important}
  .print-button,.screen-only{display:none!important}
}
