/* Compact reference images keep the name and menu price visible together. */
.product-thumbnail{flex:0 0 64px;width:64px;height:96px;display:flex;align-items:center;justify-content:center;gap:2px;padding:3px;border:1px solid #e4dace;border-radius:9px;background:#fff;cursor:pointer;overflow:hidden}
.product-thumbnail img{display:block;width:100%;height:100%;min-width:0;object-fit:contain;mix-blend-mode:multiply}
.product-thumbnail:has(img+img) img{width:calc(50% - 1px)}
.item.has-product-photo{align-items:center;gap:12px}
.item.has-product-photo .copy{min-width:0;flex:1}
.item.has-product-photo .price{flex-shrink:0}
.product-title{text-align:left;overflow-wrap:anywhere}
.product-thumbnail:focus-visible,.product-title:focus-visible,#product-modal button:focus-visible{outline:3px solid #a57737;outline-offset:3px}
#product-modal{box-sizing:border-box;width:min(540px,calc(100% - 24px));max-height:90dvh;padding:24px;border:0;border-radius:18px;color:#352c27;background:#fffdf9;overflow:auto}
#product-modal::backdrop{background:#201710b3}
#product-modal h2{margin:0 36px 14px 0;font-size:22px;line-height:1.35;overflow-wrap:anywhere}
#product-modal-close{position:absolute;right:12px;top:10px;width:44px;height:44px;border:0;border-radius:50%;background:#eee6dc;color:#352c27;font-size:26px;cursor:pointer}
.product-prices{display:flex;flex-wrap:wrap;gap:12px 24px;margin-bottom:18px;font-size:16px}
.product-prices span{display:flex;gap:10px;align-items:baseline}
.product-prices strong{white-space:nowrap;color:var(--wine,#702e2e)}
.product-gallery{display:flex;justify-content:center;align-items:center;gap:12px;background:white;border-radius:12px;overflow:hidden;padding:8px}
.product-gallery img{display:block;object-fit:contain;width:100%;min-width:0;max-height:330px;height:clamp(200px,45vh,330px)}
.product-gallery:has(img+img) img{width:calc(50% - 6px)}
.product-note,.product-facts p{font-size:13px;line-height:1.55;color:#65584b}
.product-facts{border-top:1px solid #e4dace;padding-top:16px;margin-top:20px}
.product-facts h3{font-size:16px;margin:0 0 8px}
.product-facts dl{margin:16px 0}
.product-facts dl>div{margin:12px 0}
.product-facts dt{font-size:13px;font-weight:700}
.product-facts dd{font-size:15px;margin:4px 0;line-height:1.5}
.product-sources{font-size:12px;line-height:1.8;overflow-wrap:anywhere;margin-top:16px}
.product-sources a{color:var(--wine,#702e2e);text-underline-offset:3px}
.item.tourist-menu h3{font-weight:800;font-size:20px}
.item.tourist-menu .menu-details p{font-weight:600}
.item.tourist-menu>.price{font-weight:800;font-size:22px}
@media(max-width:420px){.product-thumbnail{flex-basis:52px;width:52px;height:82px}.item.has-product-photo{gap:9px}.item.has-product-photo h3{font-size:15px}.item.has-product-photo .price{font-size:15px}#product-modal{padding:20px}#product-modal h2{font-size:20px}}
@media print{.product-thumbnail,#product-modal{display:none}}

/* Original Agapito photo: reversible display-only exposure/framing, food pixels unchanged. */
.dessert-banner{margin:12px 0 20px;border-radius:18px;overflow:hidden;background:#251a13}
.dessert-banner img{display:block;width:100%;height:clamp(260px,45vw,480px);object-fit:cover;object-position:center 77%;filter:brightness(1.035) contrast(1.015)}
.dessert-banner figcaption{font-size:12px;line-height:1.5;color:#f4e4ce;padding:9px 14px}

/* Small heart drawing, independent 44px touch target; no visible box or circle. */
.item.gs-item{padding-left:48px!important}
.item .gs-toggle,.item .gs-toggle[aria-pressed=true]{width:44px;height:44px;min-width:44px;min-height:44px;padding:0!important;left:0;top:6px;font-size:18px;line-height:1;border:0;border-radius:0;background:transparent;box-shadow:none}
.item .gs-toggle:hover{background:transparent}
.item .copy,.item h3,.item .dish-title{min-width:0;overflow-wrap:anywhere}
.item>.price{margin-left:auto;flex:0 0 auto;text-align:right;font-variant-numeric:tabular-nums}
.item>.item-variant-prices{display:grid;gap:8px;flex:0 0 auto;max-width:42%;margin:0 0 0 auto;text-align:right;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.item>.item-variant-prices>span{display:grid;justify-items:end;gap:1px}
.item>.item-variant-prices strong{font-size:16px;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--wine)}
@media(max-width:420px){.item{gap:9px}.item>.item-variant-prices{max-width:38%}.item>.item-variant-prices strong{font-size:15px}}
