.menu{background:#f5f0e8}.menu-heading>p:last-child{align-self:end;color:#715e50}.menu-controls{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px}.menu-filter{border:1px solid #c8bcae;background:transparent;color:#35251c;border-radius:99px;padding:12px 18px;font:10px var(--mono);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:background .2s,color .2s,border .2s}.menu-filter:hover,.menu-filter.is-active{background:#392318;border-color:#392318;color:#fff7ec}.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-bottom:20px}.catalog-card{appearance:none;text-align:left;border:0;padding:0;background:transparent;color:var(--ink);cursor:pointer;min-width:0}.catalog-image{height:clamp(190px,22vw,300px);background:#fff;border-radius:4px;display:grid;place-items:center;position:relative;overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;box-shadow:0 1px 0 #3d24100a}.catalog-card:hover .catalog-image,.catalog-card:focus-visible .catalog-image{transform:translateY(-5px);box-shadow:0 20px 32px #39231812}.menu-sprite{width:78%;height:88%;background-repeat:no-repeat;background-size:200% 200%;background-position:var(--x,0%) var(--y,0%);filter:drop-shadow(0 12px 7px #24160c21);transition:transform .5s cubic-bezier(.2,.7,.2,1)}.catalog-card:hover .menu-sprite{transform:translateY(-5px) rotate(-2deg) scale(1.04)}.catalog-card[data-sprite="0"] .menu-sprite{background-image:url('assets/iced-coffees.png')}.catalog-card[data-sprite="1"] .menu-sprite{background-image:url('assets/latte-variations.png')}.catalog-card[data-sprite="2"] .menu-sprite{background-image:url('assets/milky-drinks.png')}.catalog-meta{display:flex;justify-content:space-between;align-items:start;gap:8px;padding:13px 2px 3px}.catalog-meta h3{font:500 20px/1.1 var(--serif);letter-spacing:-.035em;margin:0}.catalog-meta p{font:9px var(--mono);text-transform:uppercase;letter-spacing:.5px;color:#927b66;margin:6px 0 0}.catalog-price{font:11px var(--mono);white-space:nowrap;margin-top:3px}.catalog-more{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:17px 2px;border-bottom:1px solid #cbbdae;cursor:pointer;color:#36271e}.catalog-more h3{font:500 21px var(--serif);margin:0}.catalog-more p{font:11px/1.5 var(--sans);color:#806d5d;margin:5px 0 0}.catalog-more>span{font:11px var(--mono);white-space:nowrap}.more-group{margin:24px 0 36px}.more-group h3{font:500 30px var(--serif);margin:0 0 10px}.product-dialog{border:0;padding:0;width:min(760px,calc(100% - 32px));max-width:none;max-height:min(90vh,740px);overflow:auto;background:#f7f2ea;color:var(--ink);box-shadow:0 30px 90px #160b0780}.product-dialog::backdrop{background:#140b08b8;backdrop-filter:blur(4px)}.product-dialog[open]{display:grid;grid-template-columns:1fr 1fr;animation:dialogIn .28s ease-out}.dialog-close{position:absolute;right:14px;top:12px;border:0;background:#f7f2ea;color:#392318;width:36px;height:36px;border-radius:50%;font-size:24px;cursor:pointer;z-index:2}.dialog-visual{min-height:420px;background:#fff;display:grid;place-items:center}.dialog-sprite{width:78%;height:82%}.dialog-content{padding:62px 36px 36px;align-self:center}.dialog-content h3{font:500 clamp(30px,4vw,49px)/.98 var(--serif);letter-spacing:-.05em;margin:14px 0}.dialog-description{font-size:14px;line-height:1.65;color:#705a49}.dialog-prices{margin:22px 0 26px;border-top:1px solid #d4c7b8}.dialog-price-row{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #d4c7b8;font:12px var(--mono)}.dialog-order{background:#392318;color:#fff7ec}.dialog-order:hover{background:#71503a;color:#fff}.menu [hidden]{display:none!important}@keyframes dialogIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}@media(max-width:900px){.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.catalog-image{height:clamp(190px,29vw,275px)}}@media(max-width:600px){.menu-controls{flex-wrap:nowrap;overflow-x:auto;margin-right:-24px;padding:0 24px 8px 0}.menu-filter{flex:none}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.catalog-image{height:clamp(175px,54vw,250px)}.catalog-meta h3{font-size:17px}.catalog-price{font-size:10px}.product-dialog[open]{grid-template-columns:1fr;max-height:88vh}.dialog-visual{min-height:280px;height:36vh}.dialog-content{padding:28px 24px 25px}.dialog-content h3{font-size:36px}.menu-heading{margin-bottom:32px}}
