/**
 * Menu imprimível — variante EDITORIAL.
 * As cores --brand / --brand-dark e as escalas --type-scale / --density são
 * injetadas inline pelo template (marca + opções de aspeto).
 */

:root{
	--ink:#2b2520;
	--paper:#faf7f2;
	--muted:#8a7f74;
	--dots:#c8bcae;
	--hair:#e2d9cd;
	--font-display:'Cormorant Garamond',Georgia,serif;
	--font-body:'Jost',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
	--type-scale:1;   /* tamanho do texto: 0.9 compacto … 1.3 XL */
	--density:1;      /* espaçamento entre itens: 0.7 compacto … 1.3 folgado */
}

*{margin:0;padding:0;box-sizing:border-box}

body{
	background:#e8e4de;
	font-family:var(--font-body);
	color:var(--ink);
	-webkit-font-smoothing:antialiased;
}

/* Folha A4 */
.page{
	width:210mm;
	min-height:296mm;
	background:var(--paper);
	position:relative;
	overflow:hidden;
	margin:10mm auto;
	box-shadow:0 2px 24px rgba(0,0,0,.18);
}

/* Barra de ecrã (não imprime) */
.screen-note{
	max-width:210mm;
	margin:16px auto 0;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	font-size:13px;
	color:#6b6258;
	letter-spacing:.5px;
}
.print-btn{
	border:0;
	background:var(--brand);
	color:#fff;
	font:500 13px/1 var(--font-body);
	letter-spacing:.5px;
	padding:10px 18px;
	border-radius:999px;
	cursor:pointer;
}
.print-btn:hover{background:var(--brand-dark)}

/* ---------- PADRÃO 1: CAPA ---------- */
.cover{
	background:var(--brand-dark);
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center;
	-webkit-print-color-adjust:exact;
	print-color-adjust:exact;
}
.cover::before,.cover::after{
	content:"";position:absolute;left:14mm;right:14mm;height:1px;
	background:rgba(250,247,242,.35);
}
.cover::before{top:14mm}
.cover::after{bottom:14mm}
.cover .cover-logo{
	width:60mm;max-height:40mm;object-fit:contain;
	filter:brightness(0) invert(1);opacity:.95;
}
.cover .name{
	font-family:var(--font-display);
	font-size:46px;font-weight:500;color:var(--paper);
	margin-top:14mm;letter-spacing:2px;
}
.cover .tag{
	font-size:13px;letter-spacing:6px;text-transform:uppercase;
	color:rgba(250,247,242,.75);margin-top:6mm;
}
.cover .year{
	position:absolute;bottom:22mm;left:0;right:0;
	font-size:11px;letter-spacing:4px;color:rgba(250,247,242,.55);
}
/* QR na capa (menu digital) */
.cover-qr{
	position:absolute;bottom:30mm;left:0;right:0;
	display:flex;flex-direction:column;align-items:center;gap:3mm;
}
.cover-qr svg,.cover-qr img{width:26mm;height:26mm;background:#fff;padding:2mm;border-radius:2mm}
.cover-qr .cap{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:rgba(250,247,242,.7)}

/* ---------- PADRÃO 2: HERO DE DESTAQUE ---------- */
.hero .photo{height:150mm;overflow:hidden}
.hero .photo img{width:100%;height:100%;object-fit:cover;display:block}
.hero .body{padding:16mm 22mm 0;text-align:center}
.eyebrow{
	font-size:calc(12px * var(--type-scale));letter-spacing:6px;text-transform:uppercase;
	color:var(--brand);font-weight:500;
}
.hero h1{
	font-family:var(--font-display);
	font-size:calc(44px * var(--type-scale));font-weight:500;margin:7mm 0 6mm;
}
.hero .desc{
	font-size:calc(15px * var(--type-scale));font-weight:300;line-height:1.8;
	max-width:120mm;margin:0 auto;color:#4d453d;
}
.hero .ing{
	font-size:calc(11.5px * var(--type-scale));letter-spacing:1.5px;text-transform:uppercase;
	color:var(--muted);margin-top:7mm;
}
.hero .price{
	font-family:var(--font-display);
	font-size:calc(34px * var(--type-scale));color:var(--brand);margin-top:8mm;
}
.hero .rule{width:24mm;height:1px;background:var(--brand);margin:7mm auto 0;opacity:.5}

/* ---------- PADRÃO 3: CATEGORIA DIVIDIDA ---------- */
.cat{display:flex}
.cat .col-photo{width:88mm;min-height:296mm;display:flex;flex-direction:column}
.cat .col-photo div{flex:1;overflow:hidden}
.cat .col-photo img{width:100%;height:100%;object-fit:cover;display:block}
.cat .col-list{flex:1;padding:20mm 16mm 18mm 14mm}

/* ---------- PADRÃO 4: CATEGORIA LISTA (full-width) ---------- */
.list{padding:20mm 22mm 18mm}
.list .list-grid{
	column-count:2;column-gap:14mm;
}
.list .item{break-inside:avoid;-webkit-column-break-inside:avoid}

/* Cabeçalho de categoria (partilhado) */
h2{
	font-size:calc(24px * var(--type-scale));font-weight:400;letter-spacing:8px;text-transform:uppercase;
	text-align:center;margin-bottom:4mm;
}
.h-rule{width:18mm;height:1px;background:var(--brand);margin:0 auto 12mm}

/* Item (partilhado split + lista) */
.item{margin-bottom:calc(9mm * var(--density));break-inside:avoid}
.item .line{display:flex;align-items:baseline;gap:3mm}
.item .name{
	font-size:calc(14px * var(--type-scale));font-weight:500;letter-spacing:.8px;text-transform:uppercase;
}
.item .name .all{
	font-size:calc(9px * var(--type-scale));letter-spacing:1px;color:var(--muted);
	margin-left:6px;vertical-align:super;font-weight:400;
}
.item .dots{flex:1;border-bottom:1px dotted var(--dots);transform:translateY(-3px)}
.item .price{
	font-family:var(--font-display);
	font-size:calc(18px * var(--type-scale));color:var(--brand);white-space:nowrap;
}
.item .desc{
	font-size:calc(11.5px * var(--type-scale));font-weight:300;line-height:1.65;
	color:#6b6258;margin-top:2mm;max-width:90mm;
}
.item .star{
	color:var(--brand);font-size:calc(10px * var(--type-scale));letter-spacing:2px;text-transform:uppercase;
	margin-top:1.5mm;
}

/* Item de vinho — layout próprio (preço duplo copo/garrafa não cabe na linha pontilhada) */
.item.wine{margin-bottom:calc(8mm * var(--density))}
.item.wine .wname{
	font-size:calc(13.5px * var(--type-scale));font-weight:500;letter-spacing:.8px;text-transform:uppercase;
	line-height:1.35;
}
.item.wine .wmeta{
	font-size:calc(10.5px * var(--type-scale));font-weight:300;color:var(--muted);
	margin-top:1mm;letter-spacing:.3px;
}
.item.wine .wprice{
	font-family:var(--font-display);
	font-size:calc(16px * var(--type-scale));color:var(--brand);margin-top:1.5mm;line-height:1.3;
}

/* Links de prato — herdam o estilo do texto (elegantes, sem azul/sublinhado) */
.dish-link{color:inherit;text-decoration:none;transition:color .15s ease}
.dish-link:hover{color:var(--brand)}
.hero .photo .dish-link{display:block;height:100%}

/* ---------- RODAPÉ EDITORIAL ---------- */
.menu-foot{
	max-width:210mm;margin:0 auto 16mm;
	padding:6mm 22mm 0;
	font-size:calc(10px * var(--type-scale));line-height:1.6;color:var(--muted);
}
.menu-foot .legend{border-top:1px solid var(--hair);padding-top:3mm;margin-bottom:2mm}
.menu-foot .vat{font-style:italic}

/* Rodapé colado ao fundo da última página de conteúdo (nunca numa página só) */
.menu-foot--pinned{
	position:absolute;left:0;right:0;bottom:0;
	max-width:none;margin:0;
	padding:4mm 16mm 6mm;
	background:var(--paper);
}
.menu-foot--pinned .legend{margin-bottom:1.5mm}

/* ---------- "Powered by" (discreto, não imprime) ---------- */
.mst-powered{
	text-align:center;
	font:400 11px/1 var(--font-body);
	letter-spacing:.6px;
	color:#9a9186;
	padding:8px 0 10px;
	flex:0 0 auto;
}
.mst-powered a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(154,145,134,.5)}
.mst-powered a:hover{color:var(--brand);border-bottom-color:var(--brand)}

/* ---------- IMPRESSÃO ---------- */
@media print{
	body{background:none}
	.no-print{display:none !important}
	.page{margin:0;box-shadow:none;page-break-after:always}
	.menu-foot{margin:0;padding-top:8mm}
	@page{size:A4;margin:0}
}
