.cafe-app-root{background-color:var(--bg-cream);flex-direction:column;width:100%;min-height:100dvh;display:flex;position:relative}.app-main-layout{flex-direction:column;width:100%;max-width:clamp(20rem,92vw,75rem);min-height:100vh;margin-left:auto;margin-right:auto;padding-left:clamp(.75rem,3.5vw,2.5rem);padding-right:clamp(.75rem,3.5vw,2.5rem);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);display:flex}.app-initial-hidden{opacity:0;pointer-events:none;transform:translateY(1.5vh)}.app-visible{opacity:1;transform:translateY(0)}.splash-overlay{background-color:var(--bg-cream);z-index:9999;flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100dvh;transition:opacity .7s cubic-bezier(.65,0,.35,1),transform .7s cubic-bezier(.65,0,.35,1);display:flex;position:fixed;inset:0}.splash-active{opacity:1;transform:scale(1)}.splash-exiting{opacity:0;pointer-events:none;transform:scale(.96)translateY(-2vh)}.splash-content{flex-direction:column;justify-content:center;align-items:center;display:flex}.splash-logo-wrapper{justify-content:center;align-items:center;width:clamp(14rem,60vw,24rem);animation:1.2s cubic-bezier(.16,1,.3,1) forwards splashLogoEntrance;display:flex}.splash-logo-image{object-fit:contain;mix-blend-mode:multiply;background-color:#0000;width:100%;height:auto}@keyframes splashLogoEntrance{0%{opacity:0;transform:scale(.92)translateY(1.5vh)}to{opacity:1;transform:scale(1)translateY(0)}}.cafe-header{background-color:var(--bg-cream);z-index:10;width:100%;padding-top:clamp(.9rem,2.2vh,1.8rem);padding-bottom:clamp(.7rem,1.8vh,1.3rem);position:relative}.header-inner{justify-content:space-between;align-items:center;width:100%;display:flex}.header-brand{-webkit-user-select:none;user-select:none;background:0 0;align-items:center;display:inline-flex}.header-logo-image{object-fit:contain;background-color:#0000;width:clamp(5.5rem,20vw,8.5rem);height:6vh;display:block}.header-actions{align-items:center;gap:clamp(.4rem,1.5vw,.8rem);display:flex}.action-btn{color:#652613;background-color:#65261312;border-radius:50%;justify-content:center;align-items:center;width:clamp(2.2rem,6.5vw,2.7rem);height:clamp(2.2rem,6.5vw,2.7rem);transition:all .2s;display:flex}.action-btn:hover{background-color:#65261324;transform:translateY(-.15vh)}.action-icon{stroke-width:2.2px;width:clamp(1rem,3.2vw,1.25rem);height:clamp(1rem,3.2vw,1.25rem)}.search-view-page{flex-direction:column;width:100%;min-height:80dvh;padding-top:clamp(.9rem,2.2vh,1.8rem);padding-bottom:clamp(2rem,5vh,4rem);animation:.2s ease-out fadeIn;display:flex}.search-top-bar{align-items:center;gap:clamp(.6rem,2vw,1rem);width:100%;margin-bottom:clamp(1.2rem,3vh,2rem);display:flex}.search-back-btn{color:#652613;background-color:#65261314;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:clamp(2.2rem,6.5vw,2.7rem);height:clamp(2.2rem,6.5vw,2.7rem);transition:all .2s;display:flex}.search-back-btn:hover{background-color:#65261329;transform:scale(1.05)}.search-nav-icon{stroke-width:2.2px;width:clamp(1.1rem,3vw,1.3rem);height:clamp(1.1rem,3vw,1.3rem)}.search-field-wrapper{border:.1rem solid var(--border-light);background-color:#ffffffd9;border-radius:9999px;flex:1;align-items:center;padding:clamp(.4rem,1.2vh,.6rem) clamp(.8rem,2vw,1.2rem);display:flex;box-shadow:0 .4vh 1.5vh #6526130f}.search-field-icon{color:#652613;flex-shrink:0;width:clamp(1rem,2.8vw,1.2rem);height:clamp(1rem,2.8vw,1.2rem);margin-right:.5rem}.search-field-input{font-family:var(--font-sans);color:#652613;background:0 0;border:none;outline:none;flex:1;width:100%;font-size:clamp(.9rem,2.6vw,1.05rem)}.search-field-input::placeholder{color:var(--text-muted);opacity:.75}.search-clear-btn{color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:.2rem;display:flex}.search-clear-btn:hover{color:#652613}.search-clear-icon{width:clamp(.9rem,2.5vw,1.1rem);height:clamp(.9rem,2.5vw,1.1rem)}.search-results-area{flex-direction:column;flex:1;display:flex}.search-blank-state{text-align:center;justify-content:center;align-items:center;padding:clamp(3rem,10vh,6rem) clamp(1rem,3vw,2rem);display:flex}.search-hint-text{font-family:var(--font-sans);color:var(--text-muted);opacity:.75;font-size:clamp(.9rem,2.6vw,1.05rem)}.search-results-content{flex-direction:column;display:flex}.search-results-heading{font-family:var(--font-serif);color:#652613;margin-bottom:clamp(1rem,2.5vh,1.6rem);font-size:clamp(1.1rem,3.2vw,1.4rem);font-weight:600}.search-no-results{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:clamp(3rem,10vh,6rem) clamp(1rem,4vw,2rem);display:flex}.section-main-heading{font-family:var(--font-serif);color:#652613;letter-spacing:-.015em;margin-bottom:clamp(.8rem,2.2vh,1.4rem);font-size:clamp(1.35rem,4.5vw,1rem);font-weight:700;line-height:1.2}.section-header-row{justify-content:space-between;align-items:center;display:flex}.carousel-nav-arrows{gap:.4rem;display:none}@media (width>=48rem){.carousel-nav-arrows{display:flex}}.carousel-arrow-btn{color:#652613;background-color:#65261314;border-radius:50%;justify-content:center;align-items:center;width:clamp(1.8rem,3vw,2.2rem);height:clamp(1.8rem,3vw,2.2rem);transition:all .2s;display:flex}.carousel-arrow-btn:hover{background-color:#65261329;transform:scale(1.05)}.arrow-icon{width:clamp(.9rem,1.8vw,1.2rem);height:clamp(.9rem,1.8vw,1.2rem)}.favorites-section{margin-top:clamp(.4rem,1.2vh,1rem);margin-bottom:clamp(1.4rem,3.2vh,2.4rem)}.favorites-scroll-container{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;margin-left:calc(-1*clamp(.75rem,3.5vw,2.5rem));margin-right:calc(-1*clamp(.75rem,3.5vw,2.5rem));padding-bottom:clamp(.5rem,1vh,.8rem);padding-left:clamp(.75rem,3.5vw,2.5rem);padding-right:clamp(.75rem,3.5vw,2.5rem);overflow:auto hidden}.favorites-scroll-container::-webkit-scrollbar{height:.3vh}.favorites-track{gap:clamp(.8rem,3.5vw,1.5rem);width:max-content;display:flex}.favorite-card-wrapper{scroll-snap-align:start;flex-shrink:0;width:clamp(8.8rem,38vw,14.5rem)}.menu-item-card{border-radius:var(--card-radius);-webkit-user-select:none;user-select:none;background:0 0;outline:none;flex-direction:column;display:flex;position:relative}.card-image-frame{aspect-ratio:1.15;border-radius:var(--card-radius);background-color:#ebe5d8;flex-shrink:0;width:100%;position:relative;overflow:hidden;box-shadow:0 .4vh 1.2vh #6526130d}.card-image{aspect-ratio:1.15;object-fit:cover;object-position:center;border-radius:var(--card-radius);width:100%;height:100%;transition:opacity .3s;display:block}.image-loading{opacity:0}.image-visible{opacity:1}.image-skeleton-shimmer{background:linear-gradient(90deg,#ebe5d899 0%,#f7f3ebe6 50%,#ebe5d899 100%) 0 0/200% 100%;animation:1.5s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.card-image-fallback{text-align:center;width:100%;height:100%;font-family:var(--font-serif);color:#652613;justify-content:center;align-items:center;padding:5%;font-size:clamp(.85rem,2.2vw,1.05rem);display:flex}.card-details{flex-direction:column;gap:clamp(.15rem,.4vh,.3rem);padding-top:clamp(.45rem,1.2vh,.75rem);display:flex}.card-title{font-family:var(--font-sans);color:#652613;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:clamp(.85rem,2.8vw,.75rem);font-weight:500;line-height:1.28;overflow:hidden}.card-price{font-family:var(--font-sans);color:#652613;margin:0;font-size:clamp(.85rem,2.8vw,.9rem);font-weight:700}.category-navigation-area{flex-direction:column;width:100%;margin-top:clamp(.8rem,2vh,1.5rem);margin-bottom:clamp(1.2rem,3vh,2rem);display:flex}.primary-tabs-nav{border-bottom:.08rem solid #65261326;width:100%;margin-bottom:clamp(.8rem,1.8vh,1.2rem)}.primary-tabs-list{justify-content:space-between;align-items:center;width:100%;display:flex}.category-tab-btn{color:#652613;opacity:.75;white-space:nowrap;text-align:center;background:0 0;flex:1;padding-top:clamp(.4rem,1vh,.6rem);padding-bottom:clamp(.6rem,1.4vh,.9rem);transition:opacity .2s;position:relative}.category-tab-btn:hover,.category-tab-btn.tab-active{opacity:1}.tab-label{font-family:var(--font-serif);letter-spacing:-.01em;color:#652613;font-size:clamp(.95rem,3.2vw,1rem);font-weight:600}.tab-active-line{background-color:#652613;border-radius:9999px;height:clamp(.12rem,.3vh,.18rem);animation:.25s cubic-bezier(.16,1,.3,1) lineSlide;position:absolute;bottom:-.04rem;left:15%;right:15%}@keyframes lineSlide{0%{opacity:0;transform:scaleX(.4)}to{opacity:1;transform:scaleX(1)}}.subcategories-pills-row{-webkit-overflow-scrolling:touch;justify-content:flex-start;align-items:center;gap:clamp(.4rem,1.5vw,.75rem);width:100%;padding-bottom:clamp(.2rem,.6vh,.4rem);display:flex;overflow-x:auto}.subcategories-pills-row::-webkit-scrollbar{display:none}.subcategory-pill{color:#652613;font-family:var(--font-sans);white-space:nowrap;background-color:#6526130f;border:.08rem solid #0000;border-radius:9999px;flex-shrink:0;padding:clamp(.35rem,1vh,.5rem) clamp(.75rem,2.4vw,1.2rem);font-size:clamp(.75rem,2.2vw,.5rem);font-weight:600;transition:all .2s}.subcategory-pill:hover{background-color:#6526131f}.subcategory-pill.pill-active{color:#faf7f0;background-color:#652613}.menu-sections-wrapper{flex-direction:column;gap:clamp(1.6rem,4vh,3rem);display:flex}.subcategory-section{flex-direction:column;display:flex}.menu-grid-container{grid-template-columns:repeat(2,1fr);gap:clamp(1.2rem,3.8vw,2.2rem) clamp(.8rem,3.5vw,1.8rem);margin-bottom:3vh;display:grid}@media (width>=48rem){.menu-grid-container{grid-template-columns:repeat(3,1fr)}}@media (width>=68rem){.menu-grid-container{grid-template-columns:repeat(4,1fr)}}.empty-menu-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:clamp(2.5rem,8vh,5rem) clamp(1rem,4vw,2rem);display:flex}.empty-icon{opacity:.6;margin-bottom:clamp(.5rem,1.5vh,1rem);font-size:clamp(2rem,6vw,3rem)}.empty-title{font-family:var(--font-serif);color:#652613;margin-bottom:.4rem;font-size:clamp(1.2rem,3.5vw,1.6rem)}.empty-subtitle{font-family:var(--font-sans);color:var(--text-muted);max-width:clamp(16rem,60vw,26rem);font-size:clamp(.85rem,2.4vw,1rem)}.cafe-footer{border-top:.08rem solid #6526131f;margin-top:auto;padding-top:clamp(2rem,6vh,4rem);padding-bottom:clamp(1.5rem,4vh,2.5rem)}.footer-inner{text-align:center;flex-direction:column;align-items:center;gap:clamp(1.2rem,3vh,2rem);display:flex}.footer-logo-wrap{flex-direction:column;align-items:center;display:flex}.footer-logo-image{object-fit:contain;mix-blend-mode:multiply;background-color:#0000;width:clamp(6.5rem,22vw,9rem);height:auto}.footer-tagline{font-family:var(--font-sans);color:var(--text-muted);letter-spacing:.02em;margin-top:.3rem;font-size:clamp(.8rem,2.2vw,.95rem)}.footer-info-grid{flex-wrap:wrap;justify-content:center;gap:clamp(1.2rem,4vw,3rem);display:flex}.footer-info-item{text-align:left;color:#652613;align-items:center;gap:.6rem;font-size:clamp(.8rem,2.2vw,.9rem);display:flex}.footer-icon{color:#652613;width:clamp(1rem,2.5vw,1.25rem);height:clamp(1rem,2.5vw,1.25rem)}.footer-bottom-line{color:var(--text-muted);border-top:.06rem solid #65261314;flex-direction:column;gap:.2rem;width:100%;padding-top:clamp(.8rem,2vh,1.4rem);font-size:clamp(.7rem,2vw,.8rem);display:flex}.footer-taxes-note{opacity:.8}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}:root{--bg-cream:#f3efe5;--bg-cream-card:#f8f6f0;--text-espresso:#652613;--text-dark:#652613;--text-muted:#845d52;--border-light:#e5ded0;--border-active:#652613;--accent-gold:#c88937;--card-radius:clamp(.75rem, 3.2vw, 1.4rem);--font-serif:"Fraunces", Georgia, serif;--font-sans:"Manrope", -apple-system, BlinkMacSystemFont, sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{background-color:var(--bg-cream);color:var(--text-dark);font-size:clamp(87.5%,1.2vw + .5rem,112.5%);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{background-color:var(--bg-cream);min-height:100dvh;line-height:1.45;overflow-x:hidden}img{max-width:100%;height:auto;display:block}button{cursor:pointer;background:0 0;border:none;font-family:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:.45vw;height:.45vh}::-webkit-scrollbar-track{background:var(--bg-cream)}::-webkit-scrollbar-thumb{background:#ded5c2;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
