/* Fixed A4 canvas; content is fitted with measured CSS Grid candidates. */
#event-vintage-panel [hidden]{display:none!important}
#event-vintage-panel .ely-menu-company-choice{display:flex;flex-direction:row;align-items:center;gap:10px}
#event-vintage-panel .ely-menu-company-choice input{width:auto;margin:0}
.ely-vintage-controls{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.ely-vintage-preview{overflow-x:auto;overscroll-behavior-x:contain;padding:6px 0 20px;scroll-margin-top:30px}
.ely-vintage-page{width:210mm;max-width:none;margin:0 auto 26px;border:0;background:none;box-shadow:none}
.ely-vintage-page figcaption{text-align:center;margin:12px 0;color:#6b5a43;font:12px Arial,sans-serif}
.menu-page,.menu-page *{box-sizing:border-box}
.menu-page{width:210mm;height:297mm;overflow:hidden;padding:var(--page-padding,40px);padding-bottom:20mm;background:var(--menu-paper,#f4ebdd);color:var(--menu-ink,#241a14);font-family:Arial,sans-serif;isolation:isolate}
.menu-page h1,.menu-page h2,.menu-page p{margin:0;padding:0;border:0;text-transform:none;letter-spacing:normal;color:inherit;max-width:none}
.menu-content{display:flex;flex-direction:column;gap:var(--section-gap,24px);width:100%;min-width:0}
.menu-header{display:flex;flex-direction:column;align-items:center;gap:5px;padding:0 0 3px;margin-bottom:var(--header-extra,0px);text-align:center}
.menu-header .ely-vintage-brand{align-self:flex-end;display:flex;flex-direction:column;align-items:center;gap:1px;color:var(--menu-gold);margin:0}
.menu-brand-name{font:italic 32px/1 Georgia,serif}
.menu-brand-tag{font:5px/1.3 Arial,sans-serif;letter-spacing:1px;color:var(--menu-muted)}
.menu-heading-rule{width:115px;height:1px;background:var(--menu-gold);margin:0}
.menu-page .menu-header h1{font:16px/1.25 Georgia,serif;letter-spacing:2px;color:var(--menu-gold)}
.menu-page .menu-event-title{font:15px/1.25 Georgia,serif;overflow-wrap:anywhere}
.menu-page .menu-company{font:12px/1.3 Arial,sans-serif;overflow-wrap:anywhere}
.drinks-grid{display:grid;grid-template-columns:repeat(calc(var(--drink-columns)*2),minmax(0,1fr));column-gap:9px;row-gap:var(--drink-gap-y);align-items:start}
.drink-image-box{margin-bottom:var(--image-title-extra,0px)}
.drink-card{grid-column:span 2;display:flex;flex-direction:column;align-items:center;gap:var(--card-inner-gap);text-align:center;min-width:0;break-inside:avoid}
.drink-heading{width:100%;min-width:0;display:flex;flex-direction:column;gap:var(--card-inner-gap)}
/* Share image, heading and ingredient tracks within each row, including wrapped names. */
@supports(grid-template-rows:subgrid){
 .drinks-grid{row-gap:var(--card-inner-gap)}
 .drink-card{display:grid;grid-row:span 3;grid-template-rows:subgrid;justify-items:center;align-items:start;padding-top:var(--drink-gap-y)}
 .drink-card .drink-image-box{align-self:end}
 .drink-card.drink-first-row{padding-top:0}
}
.menu-page .drink-image-box{height:var(--drink-image-size);min-height:var(--drink-image-size);max-height:var(--drink-image-size);width:100%;display:flex;align-items:flex-end;justify-content:center;flex-shrink:0}
.menu-page .drink-image-box .drink-visual{max-height:100%;max-width:100%}
.menu-visual{display:block;max-width:100%;flex:none;overflow:visible;translate:var(--image-offset-x,0) var(--image-offset-y,0)}
.menu-page .drink-title{font:bold var(--drink-title-size)/1.15 Georgia,serif;width:100%;overflow-wrap:anywhere}
.menu-page .drink-subtitle{font:italic 11px/1.2 Georgia,serif;color:var(--menu-gold);overflow-wrap:anywhere;width:100%}
.menu-page .drink-ingredients{font:var(--ingredient-size)/1.3 Arial,sans-serif;color:var(--menu-muted);overflow-wrap:anywhere;width:100%}
.menu-image-missing{display:block;width:36px;height:48px;max-height:100%;background:transparent}
.caipirinha-section{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:var(--divider-extra,0px);break-inside:avoid}
.menu-section-rule{height:1px;background:var(--menu-gold);width:100%}
.menu-page .caipirinha-heading{font:bold 22px/1.2 Georgia,serif;text-align:center;color:var(--menu-gold)}
.caipirinha-grid{margin-top:var(--caipi-heading-extra,0px);display:grid;grid-template-columns:repeat(calc(var(--fruit-columns)*2),minmax(0,1fr));column-gap:5px;row-gap:var(--fruit-gap);align-items:start}
.fruit-item{grid-column:span 2;display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;min-width:0;break-inside:avoid}
.fruit-image-box{height:var(--fruit-image-size);width:100%;display:flex;align-items:center;justify-content:center}
.menu-page .fruit-label{font:var(--fruit-label-size)/1.2 Georgia,serif;width:100%;overflow-wrap:anywhere}
.menu-page .caipirinha-description{font:12px/1.3 Arial,sans-serif;text-align:center;overflow-wrap:anywhere}
.menu-page .menu-bases{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:3px 6px;font:calc(var(--fruit-label-size,12px)*1.5)/1.3 Arial,sans-serif;color:var(--menu-muted);margin-top:calc(2px + var(--bases-extra,0px))}
.menu-page .menu-bases span{font-size:inherit;max-width:100%;overflow-wrap:anywhere}
.menu-bases .bases-heading{font-weight:bold}
.menu-measure-host{position:fixed;left:-20000px;top:0;visibility:hidden;pointer-events:none;width:210mm;contain:layout style;z-index:-1}
.ely-vintage-empty{font-family:Georgia,serif;text-align:center;padding:40px 20px;color:#68513c}
#event-vintage-status{font-size:.85rem;line-height:1.6;margin:16px 0}
#ely-vintage-print{display:none}
@media print{
 @page ely-vintage-sheet{size:A4 portrait;margin:0}
 body.ely-vintage-printing>*:not(#ely-vintage-print){display:none!important}
 body.ely-vintage-printing #ely-vintage-print{display:block!important;margin:0;padding:0}
 body.ely-vintage-printing #ely-vintage-print .menu-page{page:ely-vintage-sheet;display:block;break-inside:avoid;break-after:page;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 body.ely-vintage-printing #ely-vintage-print .menu-page:last-child{break-after:auto}
 .menu-measure-host{display:none!important}
}
/* Preview tools are overlays; exported page HTML is captured before insertion. */
.drink-image-box{position:relative}
.menu-editor-controls{font:13px/1.4 Arial,sans-serif}
.drink-image-box>.menu-editor-controls{position:absolute;inset:auto 0 0;display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;z-index:2}
.menu-editor-controls button{cursor:pointer;border:1px solid #b58a36;border-radius:5px;background:#fffaf0;color:#17283e;padding:7px 10px;font:inherit}
.drink-image-box>.menu-editor-controls button,.menu-logo-controls button{opacity:0;pointer-events:none;transition:opacity .18s ease}
.drink-card:hover .menu-editor-controls button,.drink-card:focus-within .menu-editor-controls button,.ely-vintage-brand:hover .menu-logo-controls button,.ely-vintage-brand:focus-within .menu-logo-controls button{opacity:1;pointer-events:auto}
.drink-image-box>.menu-editor-controls span{background:#fffaf0;color:#64584b;padding:2px 5px;border-radius:3px}
.menu-image-picker{width:min(760px,94vw);max-height:85vh;padding:22px;border:1px solid #b58a36;border-radius:12px;background:#fffaf0;color:#17283e;overflow:auto}
.menu-image-picker::backdrop{background:#17283e99}
.menu-image-picker header{display:flex;justify-content:space-between;align-items:center;gap:15px}
.menu-image-picker h2{font-size:22px;margin:0}
.menu-image-picker label{display:block;margin:14px 0}
.menu-image-picker input{display:block;width:100%;box-sizing:border-box;padding:10px;margin-top:5px}
.menu-image-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
.menu-image-picker-grid button{display:flex;flex-direction:column;align-items:center;gap:6px}
.menu-image-picker-grid button[aria-pressed=true]{outline:3px solid #b58a36}
.menu-image-picker-grid img{width:128px;height:128px;object-fit:contain}
@media(hover:none),(pointer:coarse){.drink-image-box>.menu-editor-controls button,.menu-logo-controls button{opacity:1;pointer-events:auto}}
@media print{.menu-editor-controls{display:none!important}}
.ely-vintage-brand{position:relative}
.menu-logo-controls{position:absolute;right:0;top:100%;display:flex;gap:4px;z-index:4;width:max-content;max-width:220px}
.menu-logo-controls button{font-size:11px;padding:4px 6px}
.menu-custom-logo{width:110px;height:56px}
.menu-editor-workspace{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:20px;align-items:start}
.menu-editor-workspace>.ely-vintage-preview{min-width:0}
.menu-color-palette{position:sticky;top:20px;padding:16px;border:1px solid #d6c5a3;border-radius:10px;background:#fffaf0;color:#17283e}
.menu-color-palette h3{font-size:17px;margin:0 0 8px}
.menu-color-palette p{font-size:12px;line-height:1.5;margin:0 0 14px}
.menu-color-presets{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px}
.menu-color-palette .menu-color-presets button{padding:5px;font-size:12px}
.menu-color-fields{display:grid;gap:14px;margin-bottom:18px}
.menu-color-fields label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}
.menu-color-fields input[type=color]{width:42px;height:34px;min-width:42px;padding:0;overflow:hidden;border:1px solid #b58a36;border-radius:5px;background:#fff;cursor:pointer}
.menu-color-fields input[type=color]::-webkit-color-swatch-wrapper{padding:0}
.menu-color-fields input[type=color]::-webkit-color-swatch{border:0}
.menu-color-fields input[type=color]::-moz-color-swatch{border:0}
@media(max-width:900px){.menu-editor-workspace{grid-template-columns:minmax(0,1fr)}.menu-color-palette{position:static;grid-row:1}.menu-color-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}

.menu-image-picker-grid button:disabled{opacity:.5;cursor:not-allowed}
.menu-page .drink-alcohol-label{display:inline-block;font:normal .52em/1.35 Arial,sans-serif;letter-spacing:.02em;white-space:nowrap;border:1px solid currentColor;border-radius:3px;padding:.14em .4em;vertical-align:middle}

/* Dedicated presentation only while no other drinks are selected. */
.menu-caipirinhas-only .caipirinha-section{gap:20px}
.menu-page.menu-caipirinhas-only .caipirinha-heading{font-size:32px}
