.menu-page{--menu-cream:#f4ecda;--plum:#601036}.menu-page main{max-width:1280px}.menu-page h1,.menu-page h2,.menu-page h3{font-family:PangramCompressed,Impact,sans-serif;font-weight:800;text-transform:uppercase}.eyebrow{font-size:13px;letter-spacing:.1em;text-transform:uppercase}.menu-hero{padding:64px 48px 72px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:32px;overflow:hidden}.menu-hero .eyebrow{color:var(--green);margin-bottom:24px}.menu-hero h1{font-size:clamp(72px,9vw,122px);line-height:.9;color:var(--coral)}.hero-intro{font:22px/1.4 Playfair,Georgia,serif;margin-top:28px;color:var(--green)}.menu-hero-art{position:relative;padding:12px 0 12px 30px}.menu-hero-art img{width:92%;height:auto;transform:rotate(-5deg)}.menu-hero-art img+img{margin:-12% 0 0 15%;transform:rotate(5deg)}.menu-categories{display:flex;justify-content:center;gap:12px;padding:20px 24px 40px;flex-wrap:wrap}.menu-categories a{border:1px solid var(--green);color:var(--green);padding:12px 22px;border-radius:40px;font-size:17px;transition:background .2s,color .2s}.menu-categories a:hover,.menu-categories a:focus-visible{background:var(--green);color:var(--yellow)}.menu-section{margin:0 32px 64px;scroll-margin-top:20px;background:var(--menu-cream);border-radius:42% 3% 2% 2% / 36px 20px 24px 24px;overflow:hidden}.section-heading{padding:42px 48px 38px;background:var(--pink);color:var(--plum)}.section-heading h2{font-size:clamp(46px,5.6vw,76px);line-height:.96;max-width:800px;margin-top:12px}.salty .section-heading{background:var(--mint);color:var(--green)}.coffee .section-heading{background:#e59dc5;color:#342120}.juice .section-heading{background:#8fcaaa;color:var(--green)}.menu-groups{padding:12px 48px 42px;display:grid;grid-template-columns:1fr 1fr;column-gap:64px}.menu-group{min-width:0;padding-top:30px}.menu-group h3{font-size:42px;line-height:1;color:var(--green);margin-bottom:14px}.sweet .menu-group{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:64px}.sweet .menu-group>h3{grid-column:1/-1;color:var(--coral)}.salty .menu-group:last-child{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:0 32px}.salty .menu-group:last-child>h3{grid-column:1/-1}.menu-item{padding:20px 0;border-bottom:1px solid #00645026;break-inside:avoid}.item-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.item-heading h4{font-size:22px;font-weight:800;line-height:1.15}.item-price{font:800 30px/1 PangramCompressed,Impact,sans-serif;white-space:nowrap}.portion{font-size:13px;color:var(--green);margin-top:9px}.ingredients{font-size:15px;line-height:1.55;margin-top:10px;color:#403d37}.allergens{font-size:12px;line-height:1.5;margin-top:10px;color:#595046}.extras{margin-top:24px}.extras-label{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--green)}.extras .item-heading h4{font-size:16px;font-weight:400}.extras .item-price{font-size:24px}.extras .menu-item{padding:14px 0}.coffee .menu-group:last-child{align-self:start}.menu-allergy{margin:0 80px 64px;display:grid;grid-template-columns:1fr 2fr;gap:40px;color:var(--green)}.menu-allergy h2{font-size:42px}.menu-allergy p{font-size:15px;line-height:1.65;max-width:650px}.menu-philosophy{padding:56px 80px 64px;background:var(--yellow);color:var(--green);position:relative;border-radius:50% 50% 0 0 / 30px 30px 0 0}.menu-philosophy h2{font-size:100px;line-height:.9;margin:20px 0 28px}.menu-philosophy p:not(.eyebrow){max-width:680px;font-size:18px;line-height:1.6;margin-top:16px}.menu-philosophy>a{display:inline-flex;gap:40px;margin-top:30px;padding-bottom:10px;border-bottom:1px solid;font-size:18px}.main-nav [aria-current=page]{text-decoration:underline;text-underline-offset:4px}.menu-section{animation:menu-in .7s both}@keyframes menu-in{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){.menu-section{animation:none}}
@media(max-width:700px){.menu-hero{padding:40px 20px 28px;grid-template-columns:1fr;gap:24px}.menu-hero h1{font-size:clamp(70px,20vw,112px)}.hero-intro{font-size:20px;margin-top:20px}.menu-hero-art{padding:0;display:flex;align-items:center}.menu-hero-art img{width:54%}.menu-hero-art img+img{margin:36px 0 0 -8%}.menu-categories{padding:14px 20px 32px;gap:8px;justify-content:flex-start}.menu-categories a{padding:10px 15px;font-size:14px}.menu-section{margin:0 12px 32px;scroll-margin-top:12px}.section-heading{padding:30px 22px}.section-heading h2{font-size:48px}.menu-groups{grid-template-columns:1fr;padding:0 22px 30px;gap:0}.menu-group h3{font-size:38px}.sweet .menu-group,.salty .menu-group:last-child{display:block}.item-heading h4{font-size:20px}.item-price{font-size:28px}.menu-item{padding:18px 0}.menu-allergy{margin:8px 24px 36px;grid-template-columns:1fr;gap:12px}.menu-allergy h2{font-size:36px}.menu-philosophy{padding:40px 24px}.menu-philosophy h2{font-size:76px}.menu-philosophy p:not(.eyebrow){font-size:16px}.main-nav{gap:14px;overflow-x:auto;white-space:nowrap;justify-content:flex-start}.site-footer nav{flex-wrap:wrap;justify-content:center;gap:20px}.menu-page .main-nav{gap:20px}}

@media(min-width:701px){.menu-hero-art img{width:85%}}

/* Full-width surfaces, with a fixed-size wave instead of stretching a photo mask. */
.menu-section{width:100vw;position:relative;left:50%;margin:0 0 64px;transform:translateX(-50%);border-radius:0;mask:none;-webkit-mask:none;overflow:visible}
.section-heading{padding-left:max(48px,calc((100vw - 1120px)/2));padding-right:max(48px,calc((100vw - 1120px)/2))}
.menu-groups{max-width:1216px;margin-inline:auto}
.menu-section::before,.menu-section::after{content:'';position:absolute;left:0;right:0;height:8px;z-index:1;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='8' viewBox='0 0 64 8'%3E%3Cpath fill='%23d9d9d9' d='M0 0H64V4Q48 12 32 4T0 4Z'/%3E%3C/svg%3E") repeat-x top left/64px 8px}
.menu-section::before{top:0}.menu-section::after{bottom:0;transform:rotate(180deg)}
.menu-philosophy{box-shadow:0 0 0 100vmax var(--yellow);clip-path:inset(0 -100vmax);border-radius:0}
@media(max-width:700px){.menu-section{margin-bottom:32px}.section-heading{padding-inline:24px}.menu-groups{padding-inline:24px}}
/* The footer arch spans the viewport without stretching its height. */
.menu-philosophy{box-shadow:none;clip-path:none;background:transparent;isolation:isolate}
.menu-philosophy::before{content:'';position:absolute;z-index:-1;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;background:var(--yellow);border-radius:50% 50% 0 0 / 30px 30px 0 0}
.menu-variant-link{display:inline-block;margin-top:18px;font-size:14px;text-decoration:underline;text-underline-offset:4px}
/* Alternative: photograph-sized side waves, repeated rather than stretched. */
.side-wave-menu .menu-section::before,.side-wave-menu .menu-section::after{display:none}
.side-wave-menu .menu-section{--wave-left:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='64' viewBox='0 0 14 64'%3E%3Cpath fill='white' d='M7 0Q21 16 7 32T7 64H14V0Z'/%3E%3C/svg%3E");--wave-right:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='64' viewBox='0 0 14 64'%3E%3Cpath fill='white' d='M7 0Q-7 16 7 32T7 64H0V0Z'/%3E%3C/svg%3E");mask:var(--wave-left) left top/14px 64px repeat-y,linear-gradient(#fff 0 0) center/calc(100% - 28px) 100% no-repeat,var(--wave-right) right top/14px 64px repeat-y;-webkit-mask:var(--wave-left) left top/14px 64px repeat-y,linear-gradient(#fff 0 0) center/calc(100% - 28px) 100% no-repeat,var(--wave-right) right top/14px 64px repeat-y}
.menu-philosophy>.menu-variant-link{display:flex;width:fit-content;max-width:100%;font-size:14px;margin-top:18px;gap:0}

/* Inset cards and reserve a separate column for every price. */
.menu-section{width:calc(100% - 160px);left:auto;transform:none;margin-inline:auto}
.section-heading,.menu-groups{padding-inline:40px}
.menu-groups,.sweet .menu-group{grid-template-columns:repeat(2,minmax(0,1fr))}
.salty .menu-group:last-child{grid-template-columns:repeat(3,minmax(0,1fr))}
.menu-item{min-width:0}
.item-heading{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:16px}
.item-heading h4{min-width:0;overflow-wrap:anywhere}
.item-price{display:block;min-width:76px;text-align:right;flex-shrink:0}
@media(min-width:701px) and (max-width:1000px){.menu-section{width:calc(100% - 80px)}.menu-groups,.sweet .menu-group{column-gap:32px}.salty .menu-group:last-child{grid-template-columns:1fr}}
@media(max-width:700px){.menu-section{width:calc(100% - 32px)}.section-heading,.menu-groups{padding-inline:24px}.menu-groups{grid-template-columns:minmax(0,1fr)}.item-price{min-width:72px}.item-heading{gap:12px}}

/* Figma menu: inset content, compact basket controls, separate photo cards. */
.section-heading,.menu-groups{padding-inline:80px}
.section-heading{color:var(--green)}
.menu-item{display:flex;flex-direction:column;gap:10px;border:0;padding:20px 0 0}
.item-heading{display:block}.item-actions{display:flex;justify-content:space-between;align-items:center;gap:16px}
.item-price{text-align:left}.ingredients,.allergens,.portion{margin-top:0}
.menu-basket{width:48px;height:48px;border-radius:50%;padding:12px;flex:0 0 48px;background:#ffaab8;display:grid;place-items:center;transition:background .2s}
.menu-basket img{display:block}.menu-basket:hover{background:var(--coral)}
.salty .menu-basket,.juice .menu-basket{background:#8fcaaa}.salty .menu-basket:hover,.juice .menu-basket:hover{background:var(--green)}
.menu-group .menu-item+.menu-item{margin-top:4px}
.extras .item-heading h4{font-size:22px;font-weight:800}.extras .item-price{font-size:30px}
.coffee .menu-group:last-child{grid-column:1/-1}
.menu-featured{margin:0 80px 40px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.menu-featured .product-body{padding:22px 11.15% 20px}
.menu-featured .product-image{height:auto;aspect-ratio:548/259}
.menu-featured .product-image img,.menu-featured .sweet .product-image img{position:static;display:block;width:100%;height:100%;object-fit:cover}
.menu-featured .product-description{max-width:none;min-height:40px}
.menu-featured .add-button{border-radius:35px;font-size:24px;white-space:nowrap}
.menu-featured .product-unit{display:block}
@media(min-width:701px) and (max-width:1000px){.section-heading,.menu-groups{padding-inline:48px}.menu-featured{margin-inline:40px}.menu-featured .add-button{font-size:18px;padding-inline:14px}}
@media(max-width:700px){.section-heading,.menu-groups{padding-inline:36px}.menu-featured{margin-inline:16px;grid-template-columns:1fr}.menu-featured .product-body{padding-inline:11.15%}.menu-featured .product-name{font-size:24px}.menu-featured .product-author{font-size:12px}.menu-featured .product-price{font-size:28px;line-height:30px}.menu-featured .add-button{font-size:19px}.menu-page .main-nav{justify-content:center;gap:18px}.item-actions{gap:12px}.item-heading h4{font-size:20px}.menu-basket{width:44px;height:44px;flex-basis:44px;padding:10px}}
.item-heading h4{margin:0}
.menu-page .menu-featured .product-name{font-family:Pangram,Arial,sans-serif;text-transform:none;font-weight:800}
.menu-page .section-heading{color:var(--green)}
.section-heading h2{max-width:none}
/* Keep menu surfaces aligned with the homepage product section. */
.menu-page main{max-width:var(--page-width)}
.menu-section{width:calc(100% - var(--product-gutter) - var(--product-gutter));margin-inline:auto}
.menu-featured{margin-inline:var(--product-gutter);gap:var(--product-grid-gap)}
/* Highlight the whole menu cell without moving neighbouring content. */
.menu-item{position:relative;isolation:isolate}
.menu-item::before{content:'';position:absolute;inset:8px -12px -8px;border-radius:12px;background:#ffaab8;opacity:0;z-index:-1;pointer-events:none;transition:opacity .24s ease}
.salty .menu-item::before,.juice .menu-item::before{background:#8fcaaa}
.menu-item:focus-within::before{opacity:.22}
.menu-item:focus-within .menu-basket{background:var(--coral)}
.salty .menu-item:focus-within .menu-basket,.juice .menu-item:focus-within .menu-basket{background:var(--green)}
@media(hover:hover) and (pointer:fine){
 .menu-item:hover::before{opacity:.22}
 .menu-item:hover .menu-basket{background:var(--coral);transform:translateY(-2px)}
 .salty .menu-item:hover .menu-basket,.juice .menu-item:hover .menu-basket{background:var(--green)}
}
.menu-basket{transition:background .24s,transform .24s}
@media(prefers-reduced-motion:reduce){.menu-item::before,.menu-basket{transition:none}.menu-item .menu-basket{transform:none!important}}
/* Give highlighted menu cells more breathing room without hover layout shifts. */
.menu-item{padding:24px 12px 16px}
.menu-item::before{inset:0 -12px}
.menu-group .menu-item+.menu-item{margin-top:12px}
.extras .menu-item{padding:24px 12px 16px}
@media(max-width:700px){.menu-item,.extras .menu-item{padding:20px 8px 16px}.menu-item::before{inset:0 -12px}}
/* Categories stay below the main navigation while browsing the menu. */
.menu-categories{position:sticky;top:var(--menu-header-height,158px);z-index:19;background:var(--paper);padding:20px var(--product-gutter);margin-bottom:20px;flex-wrap:nowrap;overflow-x:auto;justify-content:safe center;scrollbar-width:thin}
.menu-categories a{flex:0 0 auto;white-space:nowrap;min-height:44px;display:flex;align-items:center;justify-content:center}
.menu-categories.is-stuck{padding-block:8px;margin-bottom:44px;box-shadow:0 6px 12px #0000000a}
.menu-categories.is-stuck a{padding-block:8px;font-size:15px}
.menu-categories a[aria-current=location]{background:var(--green);color:var(--yellow)}
html.menu-scroll{scroll-padding-top:calc(var(--menu-header-height,158px) + var(--menu-category-height,84px) + 12px)}
@media(max-width:700px){.menu-categories{top:var(--menu-header-height,145px);gap:8px;padding-block:12px;justify-content:flex-start}.menu-categories a{font-size:14px;padding-inline:14px}.menu-categories.is-stuck{padding-block:6px;margin-bottom:32px}.menu-categories.is-stuck a{font-size:14px}}

/* Niskie okna: pasek kategorii nie przykleja się, żeby nagłówek + filtry nie zjadały ekranu. */
@media(max-height:640px){.menu-categories{position:static}}

/* Pasek kategorii: mniejsze przyciski, żeby nie dominowały nad menu głównym. */
.menu-categories{gap:8px;padding-block:12px}
.menu-categories a{min-height:36px;padding:6px 16px;font-size:15px}
.menu-categories.is-stuck{padding-block:6px}
.menu-categories.is-stuck a{min-height:32px;padding:5px 14px;font-size:14px}
@media(max-width:700px){
  .menu-categories{gap:6px}
  .menu-categories a,.menu-categories.is-stuck a{min-height:32px;padding:5px 12px;font-size:13px}
}

/* Węższe okna: listy pozycji menu w jednej kolumnie zamiast dwóch/trzech ściśniętych. */
@media(max-width:1100px){
  .menu-groups,.sweet .menu-group,.salty .menu-group:last-child{grid-template-columns:minmax(0,1fr)}
}
