/* Alignment and responsive corrections within the supplied Figma layouts. */
.menu-page .menu-container { margin-inline:auto; }
.menu-page .menu-search { opacity:1!important; animation:none!important; }
.menu-page .category-card { min-width:0; }
.menu-page .category-label { white-space:normal; line-height:1.35; }
.menu-page .category-simple { aspect-ratio:auto; min-height:98px; justify-content:flex-start; text-align:left; padding:19px 22px; border-radius:19px; }
.menu-page .category-simple-title { font-size:16px; line-height:1.4; overflow-wrap:anywhere; padding-bottom:24px; }
.menu-page .category-simple .category-label { inset:auto 20px 13px; padding:0; font-size:11px; justify-content:space-between; }
.menu-page .menu-categories.show-bowl-list .meal-times { display:none; }
.menu-page .show-bowl-list .menu-toolbar { top:72px; }
.menu-page .bowl-products { margin-top:36px; }
.menu-page .bowl-ingredients { font-size:12px; line-height:1.5; }
.menu-page .bowl-ingredients summary { font-size:11px; padding:7px 0; color:#536e59; }
.menu-page .bowl-product { gap:20px 30px; }
.menu-page .menu-item-group { margin:16px 0 30px; }
.menu-page .menu-item.has-photo { grid-template-rows:auto auto auto; align-items:start; }
.menu-page .menu-item-heading h4 { margin:0; line-height:1.4; }
.menu-page .menu-item.has-photo > p { font-size:13px; line-height:1.5; }
.menu-page .cfg-heading h2 { font-size:32px; }
.menu-page .ingredient-options { grid-auto-rows:42px; }
.menu-page .ingredient-option,.menu-page .ingredient-option.ingredient-option-premium { height:42px; padding:5px; display:flex; flex-direction:column; gap:3px; border-radius:16px; font-size:11px; line-height:1.15; overflow-wrap:normal; }
.menu-page .ingredient-price { font:400 9px/1 Inter,sans-serif; color:#616e5a; }
.menu-page .ingredient-option[aria-pressed=true] .ingredient-price { color:#e0e6d7; }
.menu-page .cfg-included-status { font-size:11px; line-height:1.4; margin-top:9px; }
.menu-page .cfg-fieldset legend { line-height:1.4; }
.menu-page .cfg-close { display:grid; place-items:center; }
.menu-page .cfg-close > img { width:24px; height:24px; }
.menu-page .cfg-selection dd { line-height:1.5; }
.menu-page .cfg-add { min-height:44px; }
.menu-page .nh-cart-intro { line-height:1.4; }
.menu-page .nh-cart-items { min-height:clamp(150px,calc(100dvh - 655px),320px); }
.menu-page .nh-cart-details { line-height:1.5; }
.menu-page .nh-cart-note { margin-bottom:12px; }
.menu-page .nh-cart-note summary { font-size:12px; }
.menu-page .nh-cart-content { padding-top:70px; }
.menu-page .nh-cart-checkout { padding-bottom:10px; }
.menu-page .nh-cart-submit,.menu-page .nh-cart-clear { border-radius:0; min-height:44px; font-size:13px!important; }
.menu-header-cart { display:none; }
@media(min-width:761px) and (max-width:1100px) {
 .menu-page .header .wrap { width:calc(100% - 40px); gap:12px; }
 .menu-page .header .brand { width:126px; }
 .menu-page .header .nav { gap:10px; }
 .menu-page .header .nav .order-trigger { min-width:112px; font-size:12px; padding-inline:8px; gap:7px; }
 .menu-page .header .language-switch { gap:0; }
 .menu-page .header .language-switch a { min-width:26px; }
 .menu-page .table-banner-inner { gap:20px; }
 .menu-page .table-identity strong { font-size:30px; }
 .menu-page .table-identity em { white-space:normal; }
 .menu-page .table-menu-title { font-size:30px; }
 .menu-page .menu-toolbar { gap:14px; }
 .menu-page .cfg-grid { column-gap:22px; }
 .menu-page .cfg-heading h2 { font-size:27px; white-space:normal; }
}
@media(max-width:760px) {
 .menu-page .header { position:relative; height:117px; background:white; box-shadow:none; border-bottom:1px solid #d9ddda; }
 .menu-page .header::before { display:none; }
 .menu-page .header .wrap { position:relative; inset:auto; display:flex; align-items:center; justify-content:center; width:100%; height:117px; margin:0; padding:28px 0 0; }
 .menu-page .header .brand { position:relative; inset:auto; flex:none; width:101px; height:62px; margin:0; }
 .menu-page .header .brand .logo-part { display:none; }
 .menu-page .header .brand .desktop-logo { display:block; width:101px; height:62px; object-fit:contain; filter:none; }
 .menu-page .nav-toggle { position:absolute; top:52px; left:30px; width:40px; height:40px; margin:0; padding:5px; }
 .menu-page .nav-toggle img { width:30px; height:30px; object-fit:contain; filter:brightness(0); }
 .menu-page .menu-header-cart { display:flex; position:absolute; top:50px; right:24px; align-items:center; justify-content:center; width:44px; height:44px; border:0; background:transparent; padding:7px; color:var(--green); cursor:pointer; }
 .menu-page .menu-header-cart img { width:28px; height:28px; }
 .menu-page .menu-header-cart span { position:absolute; right:0; top:0; display:grid; place-items:center; min-width:17px; height:17px; padding:0 3px; border-radius:50%; background:var(--green); color:white; font-size:10px; }
 .menu-page main { padding-top:0; margin:0; }
 .menu-page .table-banner-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; min-height:110px; padding-block:18px; }
 .menu-page .table-identity { gap:9px; }
 .menu-page .table-identity > img { width:58px; height:58px; }
 .menu-page .table-identity strong { font-size:18px; line-height:1.2; overflow-wrap:anywhere; }
 .menu-page .table-identity em { font-size:12px; line-height:1.2; margin-top:4px; }
 .menu-page .table-banner .self-service { padding:0 0 0 12px; border:0; border-left:1px solid #eae9e288; gap:8px; }
 .menu-page .table-banner .self-service .info-symbol { width:25px; height:25px; font-size:19px; }
 .menu-page .table-banner .self-service h2 { font-size:11px; margin-bottom:4px; }
 .menu-page .table-banner .self-service p { font-size:9px; line-height:1.35; }
 .menu-page .menu-container { width:calc(100% - 48px); }
 .menu-page .category-simple { min-height:82px; padding:15px; }
 .menu-page .category-simple-title { font-size:13px; padding-bottom:22px; }
 .menu-page .category-simple .category-label { left:15px; right:15px; bottom:12px; font-size:10px; }
 .menu-page .category-label { font-size:11px; }
 .menu-page .show-bowl-list .menu-toolbar { position:static; margin-bottom:20px; }
 .menu-page .bowl-product { grid-template-columns:minmax(90px,43%) minmax(0,1fr) 30px; gap:0 10px; }
 .menu-page .bowl-product-copy { min-width:0; }
 .menu-page .bowl-product-copy h2 { font-size:12px; line-height:1.35; }
 .menu-page .bowl-product-photo > img { height:108px; }
 .menu-page .bowl-ingredients { font-size:11px; padding-top:6px; }
 .menu-page .bowl-ingredients summary { font-size:10px; }
 .menu-page .menu-item-photo { height:108px; }
 .menu-page .menu-item.has-photo > p { font-size:12px; }
 .menu-page .cfg-heading h2 { font-size:25px; }
 .menu-page .cfg-heading p { font-size:19px; }
 .menu-page .ingredient-options { gap:6px; grid-auto-rows:38px; }
 .menu-page .ingredient-option,.menu-page .ingredient-option.ingredient-option-premium { height:38px; font-size:10px; padding:4px; border-radius:16px; }
 .menu-page .ingredient-option[data-value="Vanille Proteinpulver"] { font-size:9px; }
 .menu-page .ingredient-price { font-size:8px; }
 .menu-page .cfg-fieldset { min-height:176px; }
 .menu-page .cfg-layers { min-height:220px; }
 .menu-page .cfg-included-status { font-size:10px; }
 .menu-page .cfg-fieldset legend { font-size:12px; }
 .menu-page .cfg-selection { width:calc(100% - 52px); }
 .menu-page .cfg-close { padding:9px; }
 .menu-page .nh-cart-content { padding-top:0; }
 .menu-page .nh-cart-greeting { font-size:24px; }
 .menu-page .nh-cart-intro { font-size:18px; }
 .menu-page .nh-cart-item h3 { font-size:15px; }
 .menu-page .nh-cart-header { padding-bottom:20px; }
 .menu-page .nh-cart-bag { top:90px; width:53px; height:40px; }
 .menu-page .nh-cart-items { min-height:clamp(150px,calc(100dvh - 590px),330px); }
 .menu-page .nh-cart-footer { min-height:130px; padding-top:30px; }
 .menu-page .nh-cart-footer p { font-size:24px; }
 .menu-page .nh-cart-footer small { font-size:15px; }
}
@media(max-width:359px) {
 .menu-page .menu-container { width:calc(100% - 36px); }
 .menu-page .table-banner-inner { gap:10px; }
 .menu-page .table-identity > img { width:44px; height:44px; }
 .menu-page .table-identity strong { font-size:16px; }
 .menu-page .table-identity em { font-size:10px; }
 .menu-page .table-banner .self-service { padding-left:8px; gap:6px; }
 .menu-page .table-banner .self-service .info-symbol { display:none; }
 .menu-page .category-label { font-size:10px; padding-inline:12px; }
 .menu-page .cfg-heading h2 { font-size:23px; }
 .menu-page .cfg-fieldset legend { font-size:11px; }
 .menu-page .cfg-fieldset legend small { font-size:8px; }
}
@media(max-width:760px) {
 .menu-page .header .brand .desktop-logo { position:static; inset:auto; transform:none; margin:0; padding:0; }
 .menu-page.bowl-modal-open .mobile-cart-bar { visibility:hidden; }
}
@media(max-width:760px) {
 .menu-page .header { padding:0; margin:0; }
}
@media(max-width:760px) {
 .menu-page .table-banner { margin-top:34px; }
 .menu-page .show-bowl-list .menu-toolbar { position:static; margin:20px 0 0; }
 .menu-page .show-bowl-list .bowl-products { margin-top:28px; }
}
.order-identity-hint { margin:0 0 24px; font-size:13px; line-height:1.5; color:#536e59; }
#table-form label { text-align:left; font-size:13px; line-height:1.4; margin-bottom:10px; }
#table-number { font-size:16px; height:44px; }
.nh-cart-service { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin:0 0 16px; font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.nh-cart-service button { padding:5px 0; background:none; border:0; font-size:11px; text-decoration:underline; }
.category-kuehlschrank .category-photo > img { object-position:50% 42%; }
.menu-page .table-identity,.menu-page .table-identity > span { min-width:0; }
.menu-page .table-identity > img { flex-shrink:0; }
.menu-page .table-identity strong { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; overflow-wrap:anywhere; }
/* Keep the original Figma card proportions and align every category identically. */
.menu-page .category-grid { --category-gap:28px; display:flex; flex-wrap:wrap; justify-content:center; gap:var(--category-gap); }
.menu-page .category-card { flex:0 0 calc((100% - 3 * var(--category-gap)) / 4); width:auto; max-width:244px; min-width:0; min-height:0; height:auto; aspect-ratio:244 / 221; }
.menu-page .category-label { display:grid; grid-template-columns:minmax(0,1fr) 29px; align-items:center; gap:10px; padding:5px 15px 0 25px; font-size:16px; line-height:1.15; text-transform:uppercase; }
.menu-page .category-name { min-width:0; overflow-wrap:anywhere; hyphens:manual; }
.menu-page .category-label > img { width:29px; height:12px; margin:0; }
@media(min-width:761px) and (max-width:1100px) {
 .menu-page .category-grid { --category-gap:24px; }
 .menu-page .category-card { flex-basis:calc((100% - 2 * var(--category-gap)) / 3); }
 .menu-page .category-label { font-size:13px; padding:4px 12px 0 18px; grid-template-columns:minmax(0,1fr) 22px; gap:8px; }
 .menu-page .category-label > img { width:22px; }
}
@media(max-width:760px) {
 .menu-page .category-grid { --category-gap:19px; row-gap:20px; }
 .menu-page .category-card { flex-basis:calc((100% - var(--category-gap)) / 2); }
 .menu-page .category-label { grid-template-columns:minmax(0,1fr) 19px; gap:5px; padding:3px 9px 0 12px; font-size:11px; }
 .menu-page .category-label > img { width:19px; height:11px; }
}
@media(max-width:359px) {
 .menu-page .category-label { font-size:10px; padding-left:10px; }
}

/* Uniform product frames show each complete photo without cropping or stretching. */
.menu-page { --article-photo-size:180px; --detail-photo-size:180px; }
.menu-page .menu-item-photo,
.menu-page .bowl-product-photo > img,
.menu-page .product-detail .product-photo,
.menu-page .nh-cart-photo {
 display:block;
 box-sizing:border-box;
 object-fit:contain;
 object-position:center;
 background:var(--paper,#eae9e2);
 padding:6px;
}
.menu-page .menu-item-photo,
.menu-page .bowl-product-photo > img { width:var(--article-photo-size); height:var(--article-photo-size); }
.menu-page .product-detail .product-intro { grid-template-columns:minmax(0,1fr) var(--detail-photo-size); }
.menu-page .product-detail .product-photo { width:var(--detail-photo-size); height:var(--detail-photo-size); }
.menu-page .nh-cart-photo { width:87px; height:87px; }
@media(min-width:761px) {
 .menu-page .menu-item.has-photo { grid-template-columns:var(--article-photo-size) minmax(0,1fr) 130px 44px; }
 .menu-page .bowl-product { grid-template-columns:var(--article-photo-size) minmax(0,1fr) 170px 52px; }
 .menu-page .product-layout { grid-template-columns:var(--detail-photo-size) minmax(0,1fr); }
}
@media(max-width:760px) {
 .menu-page { --article-photo-size:110px; --detail-photo-size:125px; }
 .menu-page .menu-item.has-photo { grid-template-columns:var(--article-photo-size) minmax(0,1fr); }
 .menu-page .bowl-product { grid-template-columns:var(--article-photo-size) minmax(0,1fr) 30px; }
 .menu-page .bowl-product-price { left:calc(var(--article-photo-size) + 10px); }
 .menu-page .menu-item-photo,.menu-page .bowl-product-photo > img { padding:5px; }
}
@media(max-width:600px) {
 .menu-page .nh-cart-photo { width:73px; height:73px; padding:5px; }
}
@media(max-width:359px) {
 .menu-page { --detail-photo-size:105px; }
 .menu-page .nh-cart-photo { width:60px; height:60px; }
}

/* Round the visible photograph itself, including portrait and landscape photos. */
.menu-page :is(.menu-item-photo,.bowl-product-photo,.product-photo,.nh-cart-photo).product-image-frame {
 display:grid;
 grid-template-columns:minmax(0,1fr);
 grid-template-rows:minmax(0,1fr);
 place-items:center;
 border-radius:12px;
 overflow:hidden;
}
.menu-page .bowl-product-photo.product-image-frame {
 box-sizing:border-box;
 width:var(--article-photo-size);
 height:var(--article-photo-size);
 padding:6px;
 background:var(--paper,#eae9e2);
 overflow:visible;
}
.menu-page .product-image-frame > .product-image {
 display:block;
 width:auto;
 height:auto;
 max-width:100%;
 max-height:100%;
 min-width:0;
 min-height:0;
 padding:0;
 border-radius:8px;
 object-fit:contain;
 object-position:center;
 background:transparent;
}
@media(max-width:760px) {
 .menu-page .bowl-product-photo.product-image-frame { padding:5px; }
}

/* Ordering panels always fill the viewport; their footers stay in the scroll flow. */
.menu-page .product-detail,
.menu-page .nh-cart {
 box-sizing:border-box;
 top:0;
 bottom:0;
 height:100vh;
 height:100dvh;
 min-height:100vh;
 min-height:100dvh;
 max-height:100vh;
 max-height:100dvh;
 margin-block:0;
 border-radius:0;
}
.menu-page .product-detail { --detail-padding-inline:38px; --detail-padding-bottom:28px; }
.menu-page .product-detail[open] { display:flex; flex-direction:column; }
.menu-page .product-detail > * { flex-shrink:0; }
.menu-page .product-detail > .product-form,
.menu-page .product-detail > .product-layout { margin-bottom:64px; }
.menu-page .product-detail > .product-signoff {
 flex:0 0 145px;
 margin-top:auto;
 margin-inline:calc(-1 * var(--detail-padding-inline));
 margin-bottom:calc(-1 * var(--detail-padding-bottom));
}
.menu-page .nh-cart { overflow:hidden; padding:0; }
.menu-page .nh-cart::before { display:none; }
.menu-page .nh-cart-scroll {
 display:flex;
 flex-direction:column;
 flex:1 1 auto;
 min-height:0;
 overflow-x:hidden;
 overflow-y:auto;
 overscroll-behavior-y:contain;
}
.menu-page .nh-cart-content { flex:1 0 auto; }
.menu-page .nh-cart-items { min-height:0; }
.menu-page .nh-cart-footer { flex:0 0 112px; min-height:112px; padding-bottom:calc(22px + env(safe-area-inset-bottom,0px)); }
@media(min-width:761px) {
 .menu-page .product-detail-breakfast { --detail-padding-inline:74px; }
}
@media(max-width:760px) {
 .menu-page .nh-cart { width:100%; max-width:100%; }
 .menu-page .nh-cart-footer { flex-basis:160px; min-height:160px; padding-bottom:calc(28px + env(safe-area-inset-bottom,0px)); }
}
@media(max-width:600px) {
 .menu-page .product-detail { --detail-padding-inline:28px; --detail-padding-bottom:40px; }
 .menu-page .product-detail-breakfast { --detail-padding-bottom:28px; }
}
@media(max-width:359px) {
 .menu-page .product-detail { --detail-padding-inline:20px; }
}
