/* Guest-first presentation; shared admin and ordering styles remain in app.css. */
.guest-body{--paper:#f8f7f3;--muted:#626c65;--line:#e5e8e1;padding-bottom:84px}.guest-body .header{height:80px;max-width:1120px}.guest-body .guest-brand{gap:12px}.guest-body .brand-monogram{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:14px;background:var(--ink);color:#fff;padding:0;font:italic 34px Georgia,serif;letter-spacing:-2px}.guest-body .guest-brand:has(img:not([hidden])) .brand-monogram{display:none}.guest-body .brand-copy{display:flex;flex-direction:column;border:0;padding:0;max-width:none;letter-spacing:0;gap:5px}.guest-body .brand-copy b{font:600 20px 'Segoe UI',Arial,sans-serif;max-width:360px}.guest-body .brand-copy small{font:11px 'Segoe UI',Arial,sans-serif;color:var(--muted)}.guest-body .header-right{gap:12px}.guest-body .header-info{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:22px;background:white}.guest-body .guest-language{border:0;padding:0;font-size:18px;gap:3px}.guest-body .guest-language select{font-size:12px;max-width:65px;min-height:44px}.guest-body .shell{max-width:1120px;padding-top:0}.guest-body .hero{min-height:145px;border-radius:22px;background:var(--soft);color:var(--ink);margin:4px 0 24px;isolation:isolate}.guest-body .hero-copy{padding:26px 30px;max-width:85%}.guest-body .hero .eyebrow{color:var(--muted);font-size:10px;letter-spacing:1.6px}.guest-body .hero h1{font-size:34px;letter-spacing:-.9px;line-height:1.18;margin:10px 0 8px}.guest-body .hero h1 em{color:var(--ink);font-size:inherit}.guest-body .hero p{font-size:12px;color:var(--muted);max-width:550px}.hero-decoration{position:absolute;right:20px;top:18px;font-size:112px;line-height:1;color:var(--ink);opacity:.09;z-index:-1}.guest-body .hero-badge,.guest-body .hero-link{display:none}.guest-body .menu-section{padding-top:0;scroll-margin-top:12px}.guest-body .section-heading{display:flex;gap:10px;align-items:center;margin:0 0 18px}.guest-body .section-heading h2{font-size:30px;letter-spacing:-.8px;margin-top:5px}.guest-body .section-heading .eyebrow{font-size:9px;letter-spacing:1px}.layout-switch{display:flex;gap:3px;border:1px solid var(--line);padding:4px;background:white;border-radius:12px}.layout-switch button{border:0;border-radius:8px;background:none;min-width:38px;min-height:38px;font-size:20px}.layout-switch button[data-layout=elegant]{font:17px Georgia,serif}.layout-switch button[aria-pressed=true]{background:var(--ink);color:white}.guest-body .sticky-categories{top:0;padding:10px 0 9px;background:var(--paper);z-index:15;margin:0 -1px;box-shadow:0 6px 10px var(--paper)}.guest-body .search{width:100%;border-radius:14px;min-height:50px;padding:0 15px;gap:10px;margin-bottom:11px}.guest-body .search input{font-size:15px;min-height:46px;padding:12px 0}.guest-body .search>span{font-size:29px;line-height:1}.guest-body .search>button{border:0;background:var(--soft);width:34px;min-width:34px;height:34px;border-radius:50%;font-size:22px;padding:0}.category-row{display:flex;gap:9px;min-width:0;align-items:center}.all-categories{display:flex;align-items:center;gap:8px;flex-shrink:0;min-height:44px;padding:9px 13px;border-radius:12px;border:1px solid var(--line);background:white;font-size:12px;font-weight:600}.all-categories>span:first-child{font-size:20px}.guest-body .category-nav{min-width:0;flex:1;gap:7px;margin:0;overflow-x:auto;scrollbar-width:none;overscroll-behavior-inline:contain}.category-nav::-webkit-scrollbar{display:none}.guest-body .category-nav button{flex:none;font-size:12px;min-height:44px;border-radius:12px;padding:11px 17px}.guest-body .subgroup-nav{padding:5px 0 0;margin:0;gap:3px;scrollbar-width:none}.guest-body .subgroup-nav button{min-height:40px;font-size:12px;padding:10px 14px}.guest-body .results-heading{margin:18px 0 13px;gap:12px}.guest-body .results-heading h3{font:600 17px 'Segoe UI',Arial,sans-serif;overflow-wrap:anywhere}.guest-body .results-heading>span{flex-shrink:0;font-size:11px}.guest-body .product-grid{gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.guest-body .product{border-radius:18px;box-shadow:none;transform:none}.guest-body .product:hover{transform:none}.guest-body .product-info{padding:18px;min-width:0}.guest-body .product-name{font:600 17px 'Segoe UI',Arial,sans-serif;line-height:1.4;margin-bottom:7px;padding-right:30px;overflow-wrap:anywhere}.guest-body .product-description{font-size:13px;line-height:1.55;margin:0 0 12px;min-height:0}.guest-body .product-context{font-size:11px;color:var(--muted);display:block;margin-bottom:8px;line-height:1.5}.guest-body .price{font-size:16px;white-space:normal;line-height:1.5}.guest-body .price small{font-size:11px;color:var(--muted);font-weight:400;white-space:nowrap}.guest-body .sale-tag{position:static;align-self:flex-start;margin:0 0 8px;background:#fff1e4;color:#8c431c;padding:4px 8px;font-size:10px;border-radius:5px;font-weight:700}.guest-body .wishlist-toggle{width:42px;height:42px;font-size:25px;right:8px;top:8px;bottom:auto;background:white;border:1px solid var(--line);box-shadow:none}.guest-body .wishlist-toggle[aria-pressed=true]{color:#ae3939}.guest-body .product-photo{min-height:0;aspect-ratio:1.45;width:100%;flex-shrink:0}.guest-body .product-photo img{transform:none}.guest-body .no-photo .product-info{min-height:145px}.guest-body .has-photo .product-info{padding-top:16px}.guest-body .has-photo .product-name{padding-right:0}.guest-body .add{min-width:42px;min-height:42px;width:42px;height:42px}.guest-body[data-menu-layout=list] .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-body[data-menu-layout=list] .product{flex-direction:row-reverse;align-items:center;padding:16px;gap:16px;overflow:visible}.guest-body[data-menu-layout=list] .product-info{padding:0;min-height:0}.guest-body[data-menu-layout=list] .product-photo{width:108px;height:108px;aspect-ratio:1;border-radius:13px}.guest-body[data-menu-layout=list] .product-name{font-size:16px;padding-right:27px}.guest-body[data-menu-layout=list] .product-description{font-size:12px;margin-bottom:9px}.guest-body[data-menu-layout=list] .wishlist-toggle{right:17px;top:17px;width:38px;height:38px;background:#fffffff2}.guest-body[data-menu-layout=list] .has-photo .product-info{padding-top:0}.guest-body[data-menu-layout=list] .has-photo .product-name{padding-right:0}.guest-body[data-menu-layout=list] .has-photo .product-photo{margin-top:33px}.guest-body[data-menu-layout=list] .no-photo .product-info{padding-right:32px}.guest-body[data-menu-layout=elegant] .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px}.guest-body[data-menu-layout=elegant] .product{border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;flex-direction:row;padding:22px 0;overflow:visible;align-items:flex-start;gap:16px}.guest-body[data-menu-layout=elegant] .product-photo{width:74px;height:74px;border-radius:50%;aspect-ratio:1;margin:4px 0 0}.guest-body[data-menu-layout=elegant] .product-info{padding:0;min-height:0}.guest-body[data-menu-layout=elegant] .product-name{font:500 22px Georgia,serif;padding-right:37px}.guest-body[data-menu-layout=elegant] .product-description{font-size:13px}.guest-body[data-menu-layout=elegant] .wishlist-toggle{top:13px;right:0;border:0;background:none}.guest-body .footer{padding:25px 0 35px;margin-top:30px;font-size:11px;gap:10px}.guest-body .footer>a{font-size:16px;font-weight:700;color:var(--ink)}.guest-body .footer>a span{font-size:10px;font-weight:400;color:var(--muted)}.guest-body .guest-tabs{position:fixed;top:auto;bottom:0;left:0;right:0;padding:7px 18px calc(7px + env(safe-area-inset-bottom));min-height:73px;z-index:30;border:0;border-top:1px solid var(--line);background:#fff;gap:0;box-shadow:0 -4px 20px #163e3505}.guest-body .guest-tabs>div{width:100%;max-width:600px;display:flex;justify-content:space-around;gap:8px}.guest-body .guest-tabs a{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:10px;min-height:54px;padding:6px 10px;border-radius:13px;color:var(--muted)}.guest-body .guest-tabs a.active{background:var(--soft);color:var(--ink)}.guest-body .guest-tabs a>span{font-size:25px;line-height:1}.guest-body .guest-tabs a b{font-size:10px;font-weight:600}.guest-body .guest-tabs i{right:-10px;top:-4px;min-height:16px;min-width:16px;font-size:9px}.guest-body .bottom-dock{bottom:75px;z-index:25;max-width:700px;margin:auto}.guest-body.menu-only .bottom-dock:has(#track-button[hidden]):has(#cart-button[hidden]){display:none}.guest-body:not(.menu-only){padding-bottom:165px}.guest-body .toast{bottom:165px;border-radius:14px;font-size:13px}.guest-body.menu-only .toast{bottom:92px}.guest-body .back-to-menu{bottom:160px!important;right:18px;width:44px;height:44px;padding:0;display:grid;place-items:center;font-size:22px;z-index:20}.guest-body.menu-only .back-to-menu{bottom:92px!important}.guest-body .back-to-menu>span{display:none}.guest-body .language-notice{font-size:11px;padding:0 0 12px}.guest-body .about-section{padding:15px 0}.guest-body .about-section>h2{font-size:34px}.guest-body .about-copy{font-size:15px}.guest-body .contact-card{background:white;border-radius:16px}.guest-body .contact-card a{display:block;min-height:44px;padding:5px 0}.guest-body .contact-card a>span{display:block;font-size:12px;color:var(--accent);margin-top:6px}.guest-body .empty{background:white;border-style:solid;padding:35px 22px}.empty-symbol{font-size:42px;display:block;margin-bottom:12px;color:var(--muted)}.guest-body .empty strong{font:600 20px 'Segoe UI',Arial,sans-serif}.guest-body .empty p{font-size:13px;margin:12px 0 18px}.guest-body dialog{overscroll-behavior:contain;max-height:90svh}.sheet-open{overflow:hidden;scrollbar-gutter:stable}.sheet-handle{width:38px;height:4px;border-radius:4px;background:#d5d9d1;margin:10px auto 5px}.guest-body .product-dialog>.close{top:18px;right:16px;z-index:3}.guest-body .product-dialog .sheet-handle{position:absolute;top:0;left:calc(50% - 19px);z-index:2;background:#ffffffb8}.guest-body .detail-image{height:270px}.detail-without-photo{height:90px;background:var(--soft);color:var(--ink);display:grid;place-items:center;font-size:60px}.guest-body .detail-body{padding:26px}.guest-body .detail-body h2{font-size:30px;line-height:1.2;margin:10px 0 13px}.detail-price{font-size:24px;font-weight:700;margin:0 0 19px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.detail-price small{font-size:13px;color:var(--muted);font-weight:400}.prep-time{font-size:12px;color:var(--muted);font-weight:400}.guest-body .detail-body p{font-size:15px;line-height:1.7;white-space:pre-line}.guest-body .detail-body .ingredient-note{font-size:12px;padding:13px 15px;border-radius:12px;background:var(--soft);margin:18px 0;color:var(--muted)}.guest-body .detail-actions{display:flex;flex-direction:column;gap:10px}.guest-body .detail-actions .wish-detail{flex:auto;font-size:22px;min-height:50px}.guest-body .detail-actions .wish-detail span{font-size:13px}.category-dialog{width:580px}.category-dialog .search{margin-bottom:18px}.category-dialog .dialog-heading{margin-top:12px}.category-dialog .dialog-heading h2{font-size:28px}.directory-group{border-bottom:1px solid var(--line);padding:5px 0}.directory-main{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;border:0;background:none;padding:14px 8px;text-align:left;min-height:65px}.directory-main b{display:block;font-size:15px;line-height:1.4}.directory-main small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.directory-main.selected{background:var(--soft);border-radius:12px}.directory-main>span:last-child{font-size:22px}.directory-subgroups{display:flex;gap:7px;flex-wrap:wrap;padding:5px 8px 14px}.directory-subgroups button{border:1px solid var(--line);background:white;border-radius:10px;padding:10px 12px;font-size:11px;min-height:42px;text-align:left}.announcement-card{margin:0 0 22px}.announcement-teaser{width:100%;display:flex;gap:15px;align-items:center;text-align:left;border:1px solid #dbcbb6;border-radius:16px;background:#f7efe3;padding:16px 18px}.announcement-symbol{font-size:33px;color:#86572e}.announcement-teaser>span:nth-child(2){flex:1}.announcement-teaser small{display:block;font-size:10px;color:#775f46;margin-bottom:5px}.announcement-teaser strong{display:block;font-size:14px;line-height:1.4;color:#533c28}.announcement-image{width:100%;max-height:280px;object-fit:cover}.announcement-dialog{padding:0;overflow:hidden auto}.announcement-dialog>.close{position:absolute;right:14px;top:14px}.announcement-dialog h2{padding-right:30px}.announcement-dialog .detail-body{padding-top:38px}.announcement-image+.detail-body{padding-top:24px}
@media(max-width:800px){.guest-body .product-grid,.guest-body[data-menu-layout=list] .product-grid,.guest-body[data-menu-layout=elegant] .product-grid{grid-template-columns:1fr}.guest-body[data-menu-layout=cards] .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-body .header,.guest-body .shell{padding-left:20px;padding-right:20px}.guest-body .hero-copy{padding:22px 24px}.guest-body .hero h1{font-size:30px}.guest-body .product-name{font-size:16px}.guest-body[data-menu-layout=list] .product-photo{width:100px;height:100px}}
@media(max-width:600px){.guest-body{padding-bottom:82px}.guest-body .header{height:73px;padding:0 18px}.guest-body .brand-copy b{font-size:17px;max-width:220px}.guest-body .brand-copy small{font-size:10px}.guest-body .guest-brand img{width:38px;height:38px}.guest-body .brand-monogram{width:38px;height:38px;border-radius:12px;font-size:30px}.guest-body .guest-brand{gap:9px}.guest-body .header-right{gap:7px}.guest-body .header-info{width:38px;height:38px}.guest-body .guest-language select{font-size:11px;max-width:43px}.guest-body .guest-language>span{font-size:16px}.guest-body .shell{padding:0 16px}.guest-body .hero{min-height:117px;margin:0 0 22px;border-radius:18px}.guest-body .hero-copy{padding:19px 20px;max-width:93%}.guest-body .hero h1{font-size:27px;letter-spacing:-.7px;margin:7px 0}.guest-body .hero p{font-size:11px;line-height:1.5;max-width:280px}.guest-body .hero .eyebrow{font-size:8px}.hero-decoration{font-size:90px;right:10px;top:10px}.guest-body .section-heading{margin-bottom:12px;align-items:flex-end}.guest-body .section-heading h2{font-size:27px}.guest-body .section-heading .eyebrow{font-size:8px}.layout-switch{padding:3px;gap:0}.layout-switch button{min-width:32px;min-height:34px;font-size:20px}.layout-switch button[data-layout=elegant]{font-size:15px}.guest-body .sticky-categories{padding:10px 0 9px;top:0;margin:0}.guest-body .search{min-height:50px;padding:0 13px;margin-bottom:9px}.guest-body .search input{font-size:16px;padding:12px 0}.guest-body .category-nav button{font-size:11px;padding:10px 14px;min-height:44px}.all-categories{padding:9px 11px}.all-categories>span:last-child{display:none}.all-categories>span:first-child{font-size:23px}.category-row{gap:7px}.guest-body .subgroup-nav button{font-size:11px}.guest-body .results-heading{margin:16px 0 12px}.guest-body .results-heading h3{font-size:16px}.guest-body .results-heading>span{font-size:10px}.guest-body .product-grid{gap:11px}.guest-body .product-info{padding:15px}.guest-body .product-name{font-size:15px;padding-right:24px;line-height:1.4}.guest-body .product-description{font-size:12px}.guest-body .product-context{font-size:10px}.guest-body .price{font-size:15px}.guest-body .price small{font-size:10px}.guest-body .wishlist-toggle{width:38px;height:38px;font-size:23px;right:6px;top:6px}.guest-body[data-menu-layout=cards] .has-photo .product-info{padding:14px}.guest-body[data-menu-layout=cards] .has-photo .product-name{font-size:15px}.guest-body[data-menu-layout=cards] .no-photo .product-name{padding-right:0;margin-top:28px}.guest-body[data-menu-layout=cards] .no-photo .product-info{min-height:180px}.guest-body[data-menu-layout=list] .product{padding:17px;gap:14px;min-height:112px;border-radius:16px}.guest-body[data-menu-layout=list] .product-name{font-size:16px;margin-bottom:6px}.guest-body[data-menu-layout=list] .product-description{font-size:12px}.guest-body[data-menu-layout=list] .product-photo{width:88px;height:88px;margin-top:27px!important}.guest-body[data-menu-layout=list] .wishlist-toggle{top:10px;right:12px;width:37px;height:37px}.guest-body[data-menu-layout=list] .no-photo .product-info{padding-right:26px}.guest-body[data-menu-layout=list] .product-info{padding:0}.guest-body[data-menu-layout=elegant] .product{padding:20px 0;gap:14px}.guest-body[data-menu-layout=elegant] .product-name{font-size:21px;padding-right:30px}.guest-body[data-menu-layout=elegant] .product-photo{width:65px;height:65px}.guest-body .guest-tabs{padding:6px 12px calc(6px + env(safe-area-inset-bottom));min-height:70px}.guest-body .guest-tabs>div{gap:6px}.guest-body .guest-tabs a{padding:6px 9px;min-height:54px}.guest-body .guest-tabs a b{font-size:10px}.guest-body .bottom-dock{bottom:73px}.guest-body .footer{margin-top:25px;padding-bottom:20px}.guest-body dialog{max-height:88svh;border-radius:26px 26px 0 0}.guest-body .detail-image{height:230px}.guest-body .detail-body{padding:24px 22px}.guest-body .detail-body h2{font-size:28px}.guest-body .detail-body p{font-size:14px}.guest-body .detail-price{font-size:23px}.guest-body .category-dialog{padding:12px 20px 25px}.guest-body .category-dialog .sheet-handle{margin-top:0}.guest-body .category-dialog .search{margin-bottom:10px}.announcement-teaser{padding:13px 15px;gap:12px}.announcement-teaser strong{font-size:13px}.announcement-card{margin-bottom:20px}}
@media(max-width:360px){.guest-body .brand-copy b{max-width:140px}.guest-body .header-info{display:none}.guest-body .hero h1{font-size:25px}.guest-body .section-heading h2{font-size:24px}.guest-body[data-menu-layout=cards] .product-grid{grid-template-columns:1fr}.guest-body[data-menu-layout=cards] .no-photo .product-name{margin-top:0;padding-right:30px}.guest-body[data-menu-layout=cards] .no-photo .product-info{min-height:120px}.guest-body .guest-tabs a{padding:6px}}
 .directory-photo{width:46px;height:46px;object-fit:cover;border-radius:12px;flex-shrink:0}.directory-name{flex:1}.directory-subgroups button{display:flex;align-items:center;gap:7px}.directory-subgroups img{width:24px;height:24px;border-radius:6px;object-fit:cover}
