:root{--ember:#ef641b;--ember-hover:#c94e12;--ember-soft:#ef641b1f;--ink:#0a0a0a;--charcoal:#1b1b1b;--steel:#2a2a2a;--ash:#6b6b6b;--mist:#e8e8e8;--paper:#f7f7f5;--white:#fff;--border:#00000014;--border-strong:#00000029;--radius:4px;--font-display:"Oswald", sans-serif;--font-body:"Source Sans 3", sans-serif;--shadow:0 18px 50px #00000024;--header-h:72px}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}html{overflow-x:hidden}body{font-family:var(--font-body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}button,input,textarea,select{font:inherit}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;margin:0;font-weight:600}p{margin:0}.app-shell{flex-direction:column;min-height:100vh;display:flex}.site-footer{background:var(--ink);color:#ffffff9e;font-family:var(--font-body);flex-shrink:0;margin-top:auto;padding:1.75rem 1.25rem 2rem;font-size:.88rem;line-height:1.45;position:static}.site-footer__inner{text-align:center;flex-direction:column;align-items:center;gap:.85rem;max-width:42rem;margin:0 auto;display:flex}.site-footer__copyright{letter-spacing:.01em;margin:0}.site-footer__nav{flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem 1.15rem;display:flex}.site-footer__social{flex-wrap:wrap;justify-content:center;align-items:center;gap:.85rem 1.15rem;display:flex}.site-footer__icon-link{color:#ffffffe0;display:inline-flex}.site-footer__icon-link svg,.site-footer__contact svg{width:1.35rem;height:1.35rem;display:block}.site-footer__contact{color:#ffffffd1;align-items:center;gap:.45rem;display:inline-flex}.site-footer__credit{color:#ffffff73;margin:0;font-size:.75rem}.site-footer .site-footer__credit a{color:#fff9}.site-footer .site-footer__credit a:hover{color:var(--ember)}.privacy-page{background:linear-gradient(180deg, #ef641b0f, transparent 160px), var(--paper);padding:clamp(2rem,5vw,3.5rem) 1.25rem 3rem}.privacy-page__inner{max-width:42rem;margin:0 auto}.privacy-page__eyebrow{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--ember);margin-bottom:.5rem;font-size:.75rem}.privacy-page h1{margin-bottom:.5rem;font-size:clamp(1.8rem,4vw,2.6rem)}.privacy-page__updated{color:var(--ash);margin:0 0 1.75rem;font-size:.92rem}.privacy-page__body{flex-direction:column;gap:1.35rem;display:flex}.privacy-section h2{margin:0 0 .55rem;font-size:1.05rem}.privacy-section p{color:var(--charcoal);margin:0 0 .65rem;line-height:1.55}.privacy-section ul{color:var(--charcoal);margin:.25rem 0 0;padding-left:1.15rem;line-height:1.55}.privacy-section li+li{margin-top:.35rem}.privacy-page__back{color:var(--ash);margin-top:2rem}.privacy-page__back a{color:var(--ember)}.faq-page{background:linear-gradient(180deg, #ef641b0f, transparent 160px), var(--paper);padding:clamp(2rem,5vw,3.5rem) 1.25rem 3rem}.faq-page__inner{max-width:40rem;margin:0 auto}.faq-page__eyebrow{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--ember);margin-bottom:.5rem;font-size:.75rem}.faq-page h1{margin-bottom:.75rem;font-size:clamp(1.8rem,4vw,2.6rem)}.faq-page__lead{color:var(--ash);margin-bottom:1.75rem;line-height:1.5}.faq-list{flex-direction:column;gap:.65rem;display:flex}.faq-item{background:var(--white);border:1px solid var(--border);padding:.85rem 1rem}.faq-item summary{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item p{color:var(--charcoal);margin:.75rem 0 0;line-height:1.5}.faq-page__shop{color:var(--ash);margin-top:2rem}.faq-page__shop a{color:var(--ember)}.site-footer a,.site-footer__link{color:#ffffffc7;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:none;transition:color .15s}.site-footer__copyright a{color:#ffffffeb;text-underline-offset:.18em;-webkit-text-decoration:underline #ffffff59;text-decoration:underline #ffffff59;text-decoration-thickness:1px}.site-footer a:hover,.site-footer__link:hover{color:var(--ember)}.site-footer__copyright a:hover{-webkit-text-decoration-color:var(--ember);text-decoration-color:var(--ember)}.site-header{z-index:100;min-height:var(--header-h);height:var(--header-h);background:var(--white);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:0 1.5rem;display:flex;position:sticky;top:0}.brand-lockup{cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;gap:.75rem;min-height:44px;padding:0;display:flex}.brand-lockup img{object-fit:contain;width:auto;max-width:min(180px,46vw);height:42px}.header-actions{align-items:center;gap:.35rem;min-width:0;display:flex}.header-nav{align-items:center;gap:.35rem;display:flex}.nav-toggle{border:1px solid var(--border-strong);background:var(--white);border-radius:var(--radius);cursor:pointer;width:44px;height:44px;color:var(--ink);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:none}.nav-toggle__bars,.nav-toggle__bars:before,.nav-toggle__bars:after{background:currentColor;border-radius:1px;width:18px;height:2px;transition:transform .2s,opacity .2s;display:block;position:relative}.nav-toggle__bars:before,.nav-toggle__bars:after{content:"";position:absolute;left:0}.nav-toggle__bars:before{top:-6px}.nav-toggle__bars:after{top:6px}.site-header.menu-open .nav-toggle__bars{background:0 0}.site-header.menu-open .nav-toggle__bars:before{top:0;transform:rotate(45deg)}.site-header.menu-open .nav-toggle__bars:after{top:0;transform:rotate(-45deg)}.nav-btn{color:var(--charcoal);border-radius:var(--radius);cursor:pointer;min-height:44px;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;background:0 0;border:none;align-items:center;padding:.55rem .9rem;font-size:.85rem;text-decoration:none;transition:color .2s,background .2s;display:inline-flex}.nav-btn:hover{color:var(--ember)}.nav-btn.active{color:var(--ember);background:var(--ember-soft)}.nav-divider{background:var(--border-strong);flex-shrink:0;align-self:center;width:1px;height:1.1rem;margin:0 .15rem;display:inline-block}.lang-switch{border:1px solid var(--border-strong);border-radius:var(--radius);align-items:center;gap:0;margin-left:.35rem;display:inline-flex;overflow:hidden}.lang-switch__btn{color:var(--ash);font-family:var(--font-display);letter-spacing:.06em;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.35rem .55rem;font-size:.72rem;text-decoration:none;display:inline-flex}.lang-switch__btn.is-active{background:var(--ink);color:var(--white)}.lang-switch__btn:hover:not(.is-active){color:var(--ink)}.cart-pill{background:var(--ink);min-height:44px;color:var(--white);border-radius:var(--radius);cursor:pointer;font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;border:none;flex-shrink:0;justify-content:center;align-items:center;gap:.45rem;margin-left:.5rem;padding:.55rem .95rem;font-size:.8rem;text-decoration:none;transition:background .2s;display:inline-flex}.cart-pill:hover{background:var(--ember)}.cart-count{background:var(--ember);border-radius:999px;place-items:center;min-width:1.25rem;height:1.25rem;font-size:.7rem;display:grid}main{flex:1}.btn{border-radius:var(--radius);cursor:pointer;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;border:1px solid #0000;justify-content:center;align-items:center;gap:.45rem;padding:.85rem 1.25rem;font-size:.9rem;text-decoration:none;transition:background .2s,color .2s,border-color .2s,transform .2s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--ember);color:var(--white);border-color:var(--ink)}.btn-primary:hover{background:var(--ember-hover)}.btn-dark{background:var(--ink);color:var(--white)}.btn-dark:hover{background:var(--ember)}.btn-ghost{border-color:var(--ink);color:var(--ink);background:0 0}.btn-ghost:hover{background:var(--ink);color:var(--white)}.btn-sm{min-height:44px;padding:.55rem .85rem;font-size:.75rem}.home{position:relative;overflow:hidden}.home-cta{flex-wrap:wrap;gap:.75rem;display:flex}.home-cta-ghost{color:#fff;border-color:#ffffff80}.home-cta-ghost:hover{color:#fff;background:#ffffff1f;border-color:#fff}.home-hero{min-height:calc(100vh - var(--header-h));color:var(--white);background:radial-gradient(80% 60% at 85% 20%,#ef641b47,#0000 55%),radial-gradient(50% 40% at 10% 90%,#ef641b1f,#0000 50%),linear-gradient(145deg,#0a0a0a 0%,#1b1b1b 45%,#121212 100%);grid-template-columns:1.05fr .95fr;display:grid}.home-copy{flex-direction:column;justify-content:center;gap:1.25rem;padding:clamp(2.5rem,6vw,5rem);animation:.7s both rise;display:flex}.home-copy .eyebrow{font-family:var(--font-display);letter-spacing:.18em;color:var(--ember);text-transform:uppercase;font-size:.75rem}.home-copy h1{max-width:10ch;font-size:clamp(2.6rem,5.5vw,4.4rem);line-height:.95}.home-copy p{color:#ffffffb8;max-width:38ch;font-size:1.1rem;line-height:1.55}.home-modules{border-left:1px solid #ffffff1a;grid-template-rows:repeat(3,1fr);display:grid}.module-tile{background:linear-gradient(90deg, #0000008c, #00000026), var(--tile-image) center / cover no-repeat;color:var(--white);text-align:left;cursor:pointer;border:none;border-bottom:1px solid #ffffff1a;flex-direction:column;justify-content:flex-end;gap:.5rem;padding:1.75rem;transition:transform .35s;display:flex;position:relative;overflow:hidden}.module-tile:last-child{border-bottom:none}.module-tile:after{content:"";opacity:0;background:linear-gradient(90deg,#0000,#ef641b59);transition:opacity .35s;position:absolute;inset:0}.module-tile:hover:after{opacity:1}.module-tile:hover{transform:scale(1.01)}.module-tile>*{z-index:1;position:relative}.module-tile span{font-family:var(--font-display);letter-spacing:.14em;color:var(--ember);text-transform:uppercase;font-size:.7rem}.module-tile h2{font-size:clamp(1.5rem,2.5vw,2rem)}.module-tile p{color:#ffffffc7;max-width:34ch;line-height:1.4}.module-page{min-height:calc(100vh - var(--header-h));grid-template-columns:minmax(280px,360px) 1fr;display:grid}.module-page:has(.recipes-stage){min-height:auto}.module-side{background:var(--white);border-right:1px solid var(--border);max-height:calc(100vh - var(--header-h));flex-direction:column;gap:1rem;padding:1.5rem;display:flex;overflow:auto}.module-page:has(.recipes-stage) .module-side{top:var(--header-h);min-height:calc(100vh - var(--header-h));align-self:start;position:sticky}.module-side header h1{margin-bottom:.35rem;font-size:1.7rem}.module-side header p{color:var(--ash);line-height:1.45}.place-tip-dock{z-index:500;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.65rem;max-width:min(22rem,100% - 2rem);display:flex;position:absolute;bottom:1rem;right:1rem}.place-tip-dock>*{pointer-events:auto}.place-tip-dock__btn{box-shadow:var(--shadow)}.place-tip{background:var(--white);border:1px solid var(--border);width:min(22rem,100%);box-shadow:var(--shadow);padding:1rem 1.1rem 1.15rem}.place-tip__head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.85rem;display:flex}.place-tip__title{margin:0;font-size:1rem}.place-tip__form{gap:.85rem}.place-tip__form .btn{align-self:flex-start}.module-stage{min-height:calc(100vh - var(--header-h));background:#ddd;position:relative}.list-stack{flex-direction:column;gap:.75rem;display:flex}.location-search{z-index:20;flex-direction:column;flex-shrink:0;gap:.55rem;display:flex;position:relative;overflow:visible}.location-search__form{z-index:30;grid-template-columns:1fr 5.5rem auto;grid-template-areas:"query psc geo""submit submit submit";align-items:end;gap:.45rem;display:grid;position:relative}.location-search__field--query{grid-area:query}.location-search__field--psc{grid-area:psc}.location-search__submit{border:1px solid var(--ink);border-radius:var(--radius);background:var(--ember);min-height:44px;color:var(--white);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;grid-area:submit;font-size:.78rem}.location-search__submit:hover{background:var(--ember-hover)}.location-search__field{flex-direction:column;gap:.3rem;min-width:0;display:flex}.location-search__field--psc input{border:1px solid var(--ink);border-radius:var(--radius);background:var(--paper);width:100%;min-height:44px;color:var(--ink);outline:none;padding:.55rem .65rem}.location-search__field--psc input:focus{border-color:var(--ember);box-shadow:0 0 0 2px var(--ember-soft)}.location-search__label{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--ash);font-size:.65rem}.location-search__input-wrap{align-items:center;display:flex;position:relative}.location-search__input-wrap input{border:1px solid var(--ink);border-radius:var(--radius);background:var(--paper);width:100%;min-height:44px;color:var(--ink);outline:none;padding:.55rem 2.1rem .55rem .75rem}.location-search__input-wrap input:focus{border-color:var(--ember);box-shadow:0 0 0 2px var(--ember-soft)}.location-search__clear{width:32px;height:32px;color:var(--ash);cursor:pointer;background:0 0;border:none;place-items:center;display:grid;position:absolute;right:.35rem}.location-search__clear:hover{color:var(--ember)}.location-search__geo{border:1px solid var(--ink);border-radius:var(--radius);background:var(--white);width:44px;height:44px;color:var(--charcoal);cursor:pointer;grid-area:geo;place-items:center;display:grid}.location-search__geo:hover{background:var(--ember-soft);color:var(--ember)}.location-search__list{z-index:40;background:var(--white);border:1px solid var(--ink);max-height:260px;box-shadow:var(--shadow);margin:0;padding:.25rem 0;list-style:none;position:absolute;top:calc(100% + .25rem);left:0;right:0;overflow:auto}.location-search__status{color:var(--ash);padding:.7rem .85rem;font-size:.88rem}.location-search__option{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:none;grid-template-columns:auto 1fr auto;align-items:start;gap:.55rem;padding:.65rem .85rem;display:grid}.location-search__option:hover,.location-search__option.is-active{background:var(--ember-soft)}.location-search__option svg{color:var(--ember);flex-shrink:0;margin-top:.15rem}.location-search__option-text{flex-direction:column;gap:.1rem;min-width:0;display:flex}.location-search__option-label{font-size:.92rem;font-weight:600;line-height:1.25}.location-search__option-detail{color:var(--ash);font-size:.78rem;line-height:1.3}.location-search__option-psc{font-family:var(--font-display);letter-spacing:.04em;color:var(--ash);white-space:nowrap;margin-top:.15rem;font-size:.68rem}.location-search__radii{border:1px solid var(--ink);width:100%;display:flex}.location-search__radius{border:none;border-right:1px solid var(--ink);background:var(--white);min-height:40px;color:var(--charcoal);font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border-radius:0;flex:1 1 0;margin:0;padding:.45rem .3rem;font-size:.72rem}.location-search__radius:last-child{border-right:none}.location-search__radius:hover:not(:disabled){background:var(--ember-soft);color:var(--ember)}.location-search__radius.is-active{background:var(--ember);color:var(--white)}.location-search__radius:disabled{opacity:.45;cursor:not-allowed}.location-search__hint{color:var(--ash);font-size:.82rem;line-height:1.35}.location-search__hint strong{color:var(--charcoal);font-weight:600}.location-search__error{color:#b42318;font-size:.82rem;line-height:1.35}.place-card__top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.place-card__distance{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--ember);white-space:nowrap;font-size:.68rem}.ember-map-origin{background:0 0!important;border:none!important}.ember-origin-dot{background:var(--charcoal);border:2px solid var(--white);border-radius:50%;width:14px;height:14px;display:block;box-shadow:0 0 0 2px #ef641b8c}.ember-city-label{pointer-events:none!important;background:0 0!important;border:none!important}.ember-city-label span{white-space:nowrap;font-family:var(--font-body);letter-spacing:.04em;color:#b0b0b0;text-shadow:none;pointer-events:none;display:block;transform:translate(-50%,-50%)}.ember-city-label--major span{color:#a8a8a8;font-size:12px;font-weight:500}.ember-city-label--minor span{color:#b8b8b8;font-size:11px;font-weight:400}.place-filters-panel{flex-shrink:0}.place-filters-panel__summary{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid var(--ink);background:var(--white);min-height:44px;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.85rem;list-style:none;display:flex}.place-filters-panel__summary::-webkit-details-marker{display:none}.place-filters-panel__badge{background:var(--ember);min-width:1.25rem;height:1.25rem;color:var(--white);letter-spacing:0;border-radius:999px;place-items:center;padding:0 .35rem;font-size:.7rem;display:inline-grid}.place-filters-panel__chevron{border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);width:.45rem;height:.45rem;margin-left:auto;transition:transform .2s;transform:rotate(45deg)}.place-filters-panel[open] .place-filters-panel__chevron{margin-top:.2rem;transform:rotate(-135deg)}.place-filters-panel:not([open]) .place-filters{display:none}.place-filters-panel[open] .place-filters{margin-top:.65rem}.place-type-filter{border:1px solid var(--ink);flex-shrink:0;width:100%;display:flex}.place-type-filter__btn{border:none;border-right:1px solid var(--ink);background:var(--white);min-width:0;min-height:44px;color:var(--charcoal);font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;cursor:pointer;border-radius:0;flex:1 1 0;margin:0;padding:.5rem .3rem;font-size:clamp(.58rem,1.9vw,.65rem);font-weight:600;transition:background .15s,color .15s}.place-type-filter__btn:last-child{border-right:none}.place-type-filter__btn:hover{background:var(--ember-soft);color:var(--ember)}.place-type-filter__btn.is-active{background:var(--ember);color:var(--white)}.place-type-filter__btn.is-active:hover{background:var(--ember-hover);color:var(--white)}.place-type-filter__empty{color:var(--ash);padding:.5rem 0;font-size:.9rem;line-height:1.4}.recipe-filters-panel{flex-shrink:0}.recipe-filters-panel__summary{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid var(--ink);background:var(--white);min-height:44px;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.85rem;list-style:none;display:flex}.recipe-filters-panel__summary::-webkit-details-marker{display:none}.recipe-filters-panel__badge{background:var(--ember);min-width:1.25rem;height:1.25rem;color:var(--white);letter-spacing:0;border-radius:999px;place-items:center;padding:0 .35rem;font-size:.7rem;display:inline-grid}.recipe-filters-panel__chevron{border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);width:.45rem;height:.45rem;margin-left:auto;transition:transform .2s;transform:rotate(45deg)}.recipe-filters-panel[open] .recipe-filters-panel__chevron{margin-top:.2rem;transform:rotate(-135deg)}.recipe-filters{flex-direction:column;flex-shrink:0;gap:.75rem;display:flex}.recipe-filter-group{flex-direction:column;gap:.3rem;display:flex}.recipe-filter-group__label{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--ash);font-size:.68rem;font-weight:600}.recipe-filter-group__btns--wrap{flex-wrap:wrap}.recipe-filter-group__btns--wrap .place-type-filter__btn{border-bottom:1px solid var(--ink);flex:auto;min-width:4.5rem}.recipe-filter-group__btns--wrap .place-type-filter__btn:last-child{border-right:none}.recipe-filters__reset{align-self:flex-start}.recipe-filters-panel:not([open]) .recipe-filters{display:none}.recipe-filters-panel[open] .recipe-filters{margin-top:.65rem}.recipe-stars{align-items:center;gap:.15rem;margin:.35rem 0 .2rem;line-height:1;display:inline-flex}.recipe-stars__value{font-family:var(--font-display);letter-spacing:.04em;color:var(--ash);margin-left:.35rem;font-size:.72rem;font-weight:600}.recipe-star{flex-shrink:0;display:inline-block;position:relative;overflow:hidden}.recipe-star__base{display:block}.recipe-star__fill{pointer-events:none;position:absolute;inset:0 auto 0 0;overflow:hidden}.recipe-star__fill svg{max-width:none;display:block}.recipe-star-btn{appearance:none;cursor:pointer;background:0 0;border:none;border-radius:0;margin:0;padding:.15rem;line-height:0}.recipe-star-btn:hover .recipe-star__base path,.recipe-star-btn:focus-visible .recipe-star__base path{stroke:#ef641b}.recipe-star-btn:focus-visible{outline-offset:2px;outline:1px solid #ef641b}.recipe-stars--interactive{gap:0}.recipe-detail__summary{color:var(--ash);font-family:var(--font-body);max-width:42rem;margin:.35rem 0 1rem;font-size:1.05rem;line-height:1.5}.recipe-detail__rating{flex-wrap:wrap;align-items:center;gap:.5rem .85rem;margin-bottom:.65rem;display:flex}.recipe-detail__rating .recipe-stars{margin:0}.place-card,.recipe-card{color:inherit;border:1px solid var(--border);background:var(--paper);cursor:pointer;text-align:left;width:100%;min-height:44px;padding:.85rem;text-decoration:none;transition:border-color .2s,background .2s;display:block}.place-card:hover,.recipe-card:hover,.place-card.active,.recipe-card.active{border-color:var(--ember);background:var(--white)}.place-card h3,.recipe-card h3{margin-bottom:.25rem;font-size:1rem}.meta{color:var(--ash);font-size:.88rem}.tag{background:var(--ember-soft);color:var(--ember);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;align-items:center;margin-bottom:.4rem;padding:.2rem .5rem;font-size:.65rem;display:inline-flex}.map-root{height:100%;min-height:calc(100vh - var(--header-h))}.leaflet-container{z-index:0;width:100%;height:100%;font:12px/1.4 var(--font-body);background:#f2f2f0}.leaflet-container .leaflet-control-attribution{color:#6b6b6b;background:#ffffffb8;font-size:10px}.leaflet-container .leaflet-control-attribution a{color:#5a5a5a}.leaflet-container .leaflet-control-zoom a{color:var(--charcoal);background:#fafaf8;border-color:#e2e2de}.leaflet-container .leaflet-control-zoom a:hover{color:var(--ember);background:#f0f0ec}.ember-map-pin{background:0 0!important;border:none!important}.ember-pin{filter:drop-shadow(0 2px 3px #14141447);line-height:0;display:block}.leaflet-popup-content-wrapper{border-radius:var(--radius);border:1px solid var(--border-strong);box-shadow:var(--shadow);font-family:var(--font-body)}.leaflet-popup-content{margin:.75rem .9rem;line-height:1.4}.leaflet-popup-tip{box-shadow:none}.detail-panel{background:var(--white);border:1px solid var(--ink);width:min(360px,100% - 2.5rem);box-shadow:var(--shadow);z-index:500;animation:.35s both rise;position:absolute;bottom:1.25rem;right:1.25rem;overflow:hidden}.detail-panel .detail-panel__close{z-index:2;box-sizing:border-box;background:var(--white);border:1.5px solid var(--ink);border-radius:var(--radius);width:44px;height:44px;color:var(--ink);box-shadow:var(--shadow);place-items:center;display:grid;position:absolute;top:.4rem;right:.4rem}.detail-panel .detail-panel__close:hover{color:var(--ember);border-color:var(--ember)}.map-controls-toggle{display:none}.map-controls-body{flex-direction:column;gap:1rem;min-height:0;display:flex}.detail-panel img{object-fit:cover;width:100%;height:160px}.detail-panel .image-placeholder{width:100%;height:160px}.detail-panel .body{flex-direction:column;gap:.65rem;padding:1rem;display:flex}.detail-panel .actions{flex-wrap:wrap;gap:.5rem;display:flex}.product-block{flex-direction:column;gap:.45rem;display:flex}.product-label{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--ash);font-size:.65rem}.product-chips{flex-wrap:wrap;align-items:center;gap:.55rem .85rem;display:flex}.product-chip{color:var(--ink);font-family:var(--font-body);letter-spacing:.01em;box-shadow:none;background:0 0;border:none;align-items:center;gap:.4rem;padding:0;font-size:.82rem;line-height:1.25;display:inline-flex}.product-chip__icon{flex-shrink:0;width:24px;height:24px;display:block}.product-chip__label{min-width:0}.product-chips--compact{gap:.4rem .7rem;margin-top:.55rem}.product-chips--compact .product-chip{color:var(--charcoal);gap:.35rem;font-size:.74rem}.product-chips--compact .product-chip__icon{width:22px;height:22px}.place-card.active .product-chips--compact .product-chip{color:var(--ink)}.recipes-stage{background:linear-gradient(180deg, #ef641b0d, transparent 180px), var(--paper);max-height:none;padding:1.5rem;overflow:visible}.recipes-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.recipe-tile{background:var(--white);border:1px solid var(--border);text-align:left;flex-direction:column;padding:0;line-height:normal;transition:transform .25s,border-color .25s;display:flex;position:relative;overflow:hidden}.recipe-tile:hover{border-color:var(--ember);transform:translateY(-3px)}.recipe-tile__open{appearance:none;font:inherit;font-weight:inherit;color:inherit;text-align:left;cursor:pointer;-webkit-line-clamp:2;background:0 0;border:none;-webkit-box-orient:vertical;width:100%;margin:0;padding:0;text-decoration:none;display:-webkit-box;overflow:hidden}.recipe-tile__open:after{content:"";z-index:0;position:absolute;inset:0}.image-placeholder{background:#fdece4;flex-shrink:0;justify-content:center;align-items:center;display:flex}.recipe-tile__media{background:#1b1b1b;flex-shrink:0;width:100%;height:180px;line-height:0;display:block;overflow:hidden}.recipe-tile__media img{object-fit:cover;object-position:center 40%;width:100%;height:100%;display:block}.recipe-tile__media .image-placeholder{width:100%;height:100%}.recipe-tile .body{flex-direction:column;flex:1;gap:.45rem;padding:1rem;display:flex}.recipe-tile h3{margin:0;font-size:1rem;line-height:1.25}.recipe-tile .recipe-stars{z-index:1;position:relative}.recipe-tile .recipe-meta{gap:.35rem .7rem;margin:0}.recipe-tile .recipe-meta__item{color:var(--ash);font-size:.78rem}.recipe-tile .recipe-meta__icon{width:15px;height:15px}.spice-heading{align-items:center;gap:.45rem;margin:1rem 0 .45rem;display:inline-flex}.spice-heading__icon{flex-shrink:0;display:block}.spice-row{flex-direction:column;gap:.55rem;margin-top:.5rem;display:flex}.spice-row-item{box-sizing:border-box;border:1px solid var(--border);background:var(--white);width:100%;min-height:56px;color:var(--ink);text-align:left;font-family:var(--font-body);align-items:center;gap:.75rem;padding:.35rem .45rem .35rem .35rem;transition:border-color .18s,background .18s;display:flex}.spice-row-item__thumb{object-fit:cover;object-position:center;background:#f3efe8;border-radius:2px;flex-shrink:0;width:56px;max-width:56px;height:56px;max-height:56px;display:block}.spice-row-item__meta{flex-direction:column;flex:auto;gap:.12rem;min-width:0;display:flex}.spice-row-item__name{letter-spacing:.01em;color:var(--ink);font-size:.92rem;font-weight:600;line-height:1.2}.spice-row-item__price{color:var(--ash);white-space:nowrap;font-size:.8rem;line-height:1.2}.recipe-detail .pairings__list{margin:.5rem 0 0;padding:0;list-style:none}.recipe-detail .pairings__list>li{margin:0;padding:0}.pairing{text-decoration:none}.pairing:hover,.pairing:focus-visible{background:var(--ember-soft);border-color:#ef641b73}.pairing:hover .spice-row-item__name,.pairing:focus-visible .spice-row-item__name{color:var(--ember)}.pairing__thumb{background:#f3efe8;border-radius:2px;flex-shrink:0;width:56px;height:56px;line-height:0;overflow:hidden}.pairing__thumb img,.pairing__thumb .image-placeholder{object-fit:cover;width:100%;height:100%;display:block}.spice-row-item--add{cursor:pointer;appearance:none}.spice-row-item--add:hover{background:var(--ember-soft);border-color:#ef641b73}.spice-row-item--add:hover .spice-row-item__name,.spice-row-item--add:hover .spice-row-item__price{color:var(--ember)}.spice-row-item__add{background:var(--white);color:#ef641b;border:1px solid #ef641b59;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.spice-row-item--add:hover .spice-row-item__add{background:var(--ember);border-color:var(--ember);color:var(--white)}.spice-chip__plus{color:currentColor;display:block}.spice-row-item--qty .qty-bubble{margin-left:0}.qty-bubble{background:var(--white);color:var(--ink);border:1px solid var(--border-strong);border-radius:999px;flex-shrink:0;align-items:center;gap:0;min-height:44px;margin-left:auto;display:inline-flex;overflow:hidden}.qty-bubble__btn{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:none;place-items:center;padding:0;font-size:1.15rem;line-height:1;transition:background .15s,color .15s;display:grid}.qty-bubble__btn:hover:not(:disabled){background:var(--ember);color:var(--white)}.qty-bubble__btn:disabled{opacity:.35;cursor:default}.qty-bubble__value{text-align:center;min-width:1.5rem;font-family:var(--font-display);letter-spacing:.02em;font-variant-numeric:tabular-nums;font-size:.9rem}.modal-backdrop{z-index:1000;-webkit-overflow-scrolling:touch;background:#0a0a0a9e;place-items:center;padding:1rem;animation:.2s both fade;display:grid;position:fixed;inset:0;overflow:auto}.modal{background:var(--white);border:1px solid var(--ink);width:min(560px,100%);max-height:min(90dvh,820px);box-shadow:var(--shadow);flex-direction:column;animation:.3s both rise;display:flex;overflow:hidden}.modal.wide{width:min(840px,100%)}.modal-head{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:1.1rem 1.25rem;display:flex}.modal-head h2{overflow-wrap:anywhere;min-width:0;font-size:1.25rem}.modal-scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow:auto}.icon-btn{cursor:pointer;width:44px;height:44px;color:var(--ash);background:0 0;border:none;flex-shrink:0;place-items:center;padding:0;font-size:1.4rem;line-height:1;display:grid}.icon-btn:hover{color:var(--ember)}.modal-body{flex-direction:column;gap:.9rem;padding:1.25rem;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.field{flex-direction:column;gap:.35rem;display:flex}.field.full{grid-column:1/-1}.field label{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--ash);font-size:.72rem}.field input,.field textarea,.field select{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--paper);padding:.7rem .8rem}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--ember);outline:2px solid #ef641b59}.modal-actions{justify-content:flex-end;gap:.6rem;padding:1.15rem 1.25rem 1.25rem;display:flex}.recipe-page{background:linear-gradient(180deg, #ef641b0d, transparent 180px), var(--paper);padding:clamp(1.5rem,4vw,2.5rem) 1.25rem 3rem}.recipe-page__inner{max-width:48rem;margin:0 auto}.recipe-page__back{margin-bottom:1rem}.recipe-page h1{margin-bottom:1rem;font-size:clamp(1.6rem,4vw,2.3rem)}.recipe-page__actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.recipe-detail{flex-direction:column;gap:1.15rem;display:flex}.recipe-detail>:not(img){padding:0}.recipe-meta{flex-wrap:wrap;align-items:center;gap:.55rem 1rem;margin:0 0 1rem;display:flex}.recipe-meta__item{color:var(--charcoal);align-items:center;gap:.35rem;font-size:.95rem;line-height:1.2;display:inline-flex}.recipe-meta__icon{color:var(--ember);flex-shrink:0}.recipe-detail>img{object-fit:cover;object-position:center;background:var(--paper);width:100%;height:clamp(220px,36vw,360px);display:block}.recipe-detail>.image-placeholder{width:100%;height:clamp(220px,36vw,360px)}.recipe-detail ul,.recipe-detail ol{margin:.35rem 0 0;padding-left:1.1rem;line-height:1.5}.recipe-timeline{margin:.5rem 0 0;padding:0;list-style:none;position:relative}.recipe-timeline:before{content:"";background:#ef641b47;width:2px;position:absolute;top:.55rem;bottom:.55rem;left:.6875rem}.recipe-timeline__item{align-items:flex-start;gap:.85rem;padding-bottom:1.05rem;line-height:1.5;display:flex;position:relative}.recipe-timeline__item:last-child{padding-bottom:0}.recipe-timeline__marker{color:#fff;letter-spacing:-.02em;z-index:1;background:#ef641b;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.375rem;height:1.375rem;font-size:.6875rem;font-weight:700;line-height:1;display:inline-flex;box-shadow:0 0 0 3px #fff}.recipe-timeline__text{min-width:0;color:var(--charcoal,#1a1a1a);flex:1;padding-top:.1rem}.ai-page{min-height:calc(100vh - var(--header-h));grid-template-columns:1fr 1fr;display:grid}.ai-page--capture-only{grid-template-columns:1fr}.ai-capture{background:radial-gradient(circle at 30% 20%, #ef641b33, transparent 40%), var(--charcoal);color:#fff;flex-direction:column;justify-content:center;gap:1.25rem;padding:clamp(2rem,4vw,3.5rem);display:flex}.ai-capture h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.1}.ai-capture p{color:#ffffffb8;max-width:42ch;line-height:1.5}.dropzone{text-align:center;cursor:pointer;background:#ffffff0a;border:1.5px dashed #ffffff59;place-items:center;min-height:280px;padding:1.5rem;transition:border-color .25s,background .25s;display:grid;position:relative;overflow:hidden}.dropzone:hover,.dropzone.drag{border-color:var(--ember);background:#ef641b1f}.dropzone img{object-fit:cover;opacity:.55;width:100%;height:100%;position:absolute;inset:0}.dropzone .hint{z-index:1;flex-direction:column;align-items:center;gap:.5rem;display:flex;position:relative}.scan-bar{background:#ffffff1f;border-radius:99px;width:100%;height:3px;overflow:hidden}.scan-bar>span{background:var(--ember);width:40%;height:100%;animation:1.1s ease-in-out infinite scan;display:block}.ai-results{background:var(--paper);max-height:calc(100vh - var(--header-h));padding:clamp(1.5rem,3vw,2.5rem);overflow:auto}.match-list{flex-direction:column;gap:.85rem;display:flex}.match-card{background:var(--white);border:1px solid var(--border);cursor:pointer;grid-template-columns:120px 1fr auto;align-items:center;gap:1rem;padding:.75rem;transition:border-color .2s;display:grid}.match-card:hover{border-color:var(--ember)}.match-card img{object-fit:cover;width:120px;height:90px}.match-card .image-placeholder{width:120px;height:90px}.match-score{font-family:var(--font-display);color:var(--ember);font-size:1.4rem}.match-confidence{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;text-align:right;color:var(--ember);max-width:6.5rem;font-size:.72rem}.ai-summary{color:var(--charcoal);margin:0 0 1rem;line-height:1.45}.ai-summary--no-match{background:var(--ember-soft);border-left:3px solid var(--ember);color:var(--charcoal);padding:.9rem 1rem}.match-card .recipe-stars{margin-top:.35rem}.ai-retake{background:var(--white);border:1px solid var(--border-strong);flex-direction:column;align-items:flex-start;gap:.85rem;margin:0 0 1rem;padding:1.15rem 1.25rem;display:flex}.ai-retake__summary{color:var(--charcoal);margin:0;line-height:1.45}.ai-retake__hint{color:var(--ash);margin:0;line-height:1.45}.empty-state{color:var(--ash);padding:1rem 0;line-height:1.5}.gdpr-copy{color:var(--charcoal);margin:0;font-size:1.02rem;line-height:1.55}.cookie-banner{z-index:1200;pointer-events:none;padding:0;position:fixed;bottom:0;left:0;right:0}.cookie-banner__panel{pointer-events:auto;background:var(--charcoal);color:#ffffffeb;border-top:1px solid #ffffff1f;flex-direction:column;width:100%;max-height:min(78dvh,560px);animation:.3s both rise;display:flex;box-shadow:0 -12px 40px #00000047}.cookie-banner--manage .cookie-banner__panel{background:var(--charcoal);color:#ffffffeb;border-top:1px solid #ffffff1f;width:min(420px,100% - 1.5rem);max-width:420px;max-height:min(70dvh,520px);margin-bottom:1rem;margin-left:auto;margin-right:1rem;box-shadow:0 -12px 40px #00000047}.cookie-banner__bar{grid-template-columns:1fr auto;align-items:center;gap:1.25rem 2rem;width:100%;max-width:1200px;margin:0 auto;padding:1.25rem clamp(1rem,4vw,2.5rem);display:grid}.cookie-banner__copy h2{color:var(--white);margin-bottom:.4rem;font-size:clamp(1.15rem,2.4vw,1.55rem)}.cookie-banner__copy>p{color:#ffffffc7;max-width:52rem;margin:0;font-size:.95rem;line-height:1.45}.cookie-banner__more-link{color:#ffffffe0;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;margin-top:.65rem;padding:0;font-size:.72rem;display:inline-flex}.cookie-banner__more-link:hover{color:var(--ember)}.cookie-banner__more-link .cookie-banner__chevron{border-color:currentColor}.cookie-banner__more-link.is-open .cookie-banner__chevron{margin-top:.15rem;transform:rotate(-135deg)}.cookie-banner__more-text{color:#ffffffb3;max-width:52rem;margin:.55rem 0 0;font-size:.88rem;line-height:1.45}.cookie-banner__cta{flex-direction:column;align-items:stretch;gap:.5rem;min-width:min(220px,100%);display:flex}.cookie-banner__cta .btn-primary{min-height:48px}.cookie-banner__cta-secondary{color:var(--white)!important;background:0 0!important;border-color:#ffffff73!important}.cookie-banner__cta-secondary:hover{border-color:var(--white)!important;color:var(--white)!important;background:#ffffff14!important}.cookie-banner__reject{color:#ffffffbf;text-underline-offset:.15em;cursor:pointer;background:0 0;border:none;align-self:center;padding:.35rem;font-size:.88rem;text-decoration:underline}.cookie-banner__reject:hover{color:var(--white)}.cookie-banner__head{border-bottom:1px solid #ffffff1f;flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem .85rem;display:flex}.cookie-banner__head h2{min-width:0;color:var(--white);font-size:.95rem;line-height:1.2}.cookie-banner__close{color:#ffffffd9;border:1px solid #ffffff59;border-radius:50%;width:36px;height:36px;font-size:1.25rem}.cookie-banner__close:hover{color:var(--white);border-color:#fff9}.cookie-banner__body{-webkit-overflow-scrolling:touch;padding:.85rem;overflow:auto}.cookie-banner__lead{color:#ffffffb8;margin:0 0 .75rem;font-size:.85rem;line-height:1.4}.cookie-banner__list{flex-direction:column;gap:.15rem;margin:0;padding:0;list-style:none;display:flex}.cookie-banner__item{border-bottom:1px solid #ffffff1a;margin:0;padding:.35rem 0}.cookie-banner__item:last-child{border-bottom:none}.cookie-banner__row{justify-content:space-between;align-items:center;gap:.5rem;min-height:40px;display:flex}.cookie-banner__check{cursor:pointer;align-items:center;gap:.55rem;min-width:0;display:inline-flex}.cookie-banner__check input{width:1.05rem;height:1.05rem;accent-color:var(--ember);cursor:pointer;flex-shrink:0}.cookie-banner__check input:disabled{cursor:not-allowed;opacity:.7}.cookie-banner__item-title{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:#ffffffeb;font-size:.78rem;font-weight:600}.cookie-banner__more{color:#ffffffad;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;gap:.35rem;padding:.35rem .15rem;font-size:.65rem;display:inline-flex}.cookie-banner__more:hover{color:var(--ember)}.cookie-banner__chevron{border-bottom:1.5px solid;border-right:1.5px solid;width:.35rem;height:.35rem;margin-top:-.15rem;transition:transform .15s;transform:rotate(45deg)}.cookie-banner__item.is-open .cookie-banner__chevron{margin-top:.1rem;transform:rotate(-135deg)}.cookie-banner__item-desc{color:#ffffffad;margin:0 0 .45rem 1.6rem;font-size:.82rem;line-height:1.4}.cookie-banner__actions{border-top:1px solid #ffffff1f;flex-direction:column;flex-shrink:0;gap:.4rem;padding:.75rem .85rem .9rem;display:flex}.cookie-banner__actions .btn{width:100%}.cookie-banner__actions .btn-ghost{color:var(--white);background:0 0;border-color:#ffffff73}.cookie-banner__actions .btn-ghost:hover{border-color:var(--white);color:var(--white);background:#ffffff14}.toast{background:var(--ink);color:#fff;border-radius:var(--radius);z-index:1100;font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;padding:.8rem 1.2rem;font-size:.8rem;animation:.3s both rise;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%)}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes scan{0%{transform:translate(-120%)}to{transform:translate(280%)}}@media (width<=960px){.home-hero,.module-page,.ai-page,.form-grid{grid-template-columns:1fr}.home-hero{min-height:auto}.home-copy{padding:clamp(1.75rem,5vw,3rem)}.home-modules{border-top:1px solid #ffffff1a;border-left:none;grid-template-rows:none}.module-tile{border-bottom:1px solid #ffffff1a;min-height:160px}.module-page{min-height:auto}.module-side{border-right:none;border-bottom:1px solid var(--border);max-height:none}.module-page:has(.recipes-stage) .module-side{min-height:0}.map-controls-toggle{width:100%;min-height:44px;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--ember);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:.55rem .15rem;font-size:.78rem;display:flex}.module-side.is-collapsed{padding-top:.65rem;padding-bottom:.65rem}.module-side.is-collapsed .map-controls-body{display:none}.location-search__form{grid-template-columns:1fr 4.75rem 44px}.module-stage{height:min(62vh,520px);min-height:min(62vh,520px)}.module-page.is-controls-collapsed{min-height:calc(100dvh - var(--header-h));flex-direction:column;display:flex}.module-page.is-controls-collapsed .module-side{flex:none}.module-page.is-controls-collapsed .module-stage{flex:auto;height:auto;min-height:0}.map-root{height:100%;min-height:100%}.detail-panel{width:100%;min-height:70dvh;max-height:min(90dvh, calc(100dvh - var(--header-h)));-webkit-overflow-scrolling:touch;padding-bottom:env(safe-area-inset-bottom,0px);z-index:600;border-bottom:none;border-left:none;border-right:none;border-radius:12px 12px 0 0;position:fixed;bottom:0;left:0;right:0;overflow:auto}.detail-panel img,.detail-panel .image-placeholder{height:140px}.places-list-desktop,.recipes-side-header p{display:none}.recipe-filters-panel[open] .recipe-filters{gap:.55rem}.recipe-filter-group__btns{flex-wrap:wrap;overflow-x:visible}.recipe-filter-group__btns .place-type-filter__btn{letter-spacing:.04em;border-bottom:1px solid var(--ink);flex:auto;min-width:4.75rem;max-width:100%;padding:.5rem .55rem;font-size:.62rem}.recipe-filter-group__btns--wrap{flex-wrap:wrap}.recipe-filter-group__btns--wrap .place-type-filter__btn{border-bottom:1px solid var(--ink)}.recipes-stage{max-height:none;padding:1rem}.recipes-grid{grid-template-columns:1fr}.ai-page{min-height:auto}.ai-results{max-height:none}.dropzone{min-height:220px}.match-card{grid-template-columns:90px 1fr}.match-score{grid-column:2}.toast{text-align:center;width:auto;left:.75rem;right:.75rem;transform:none}.cookie-banner__bar{grid-template-columns:1fr;gap:1rem;padding:1.1rem 1rem 1.25rem}.cookie-banner__cta{min-width:0}.cookie-banner--manage .cookie-banner__panel{border-radius:10px 10px 0 0;width:100%;max-width:none;margin:0}}@media (width<=720px){.site-header{height:auto;min-height:var(--header-h);flex-wrap:wrap;padding:.55rem .85rem}.nav-toggle{display:inline-flex}.header-nav{background:var(--white);border-bottom:1px solid var(--border);flex-direction:column;align-items:stretch;gap:.25rem;padding:.65rem .85rem .85rem;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 12px 28px #00000014}.header-nav.is-open{display:flex}.header-nav .nav-btn{text-align:left;justify-content:flex-start;width:100%}.header-nav .nav-divider{width:100%;height:1px;margin:.35rem 0;display:block}.lang-switch{flex-shrink:0;margin-left:0}.lang-switch__btn{min-height:36px;padding:.4rem .5rem}.cart-pill{margin-left:0}.cart-pill span.label{display:none}.brand-lockup img{height:34px}.home-copy h1{max-width:none;font-size:clamp(2.1rem,11vw,3rem)}.home-copy p{max-width:none;font-size:1rem}.home-cta .btn{flex:auto;min-width:min(100%,140px)}.module-side{padding:1.1rem}.module-side header h1{font-size:1.45rem}.place-card,.recipe-card{min-height:44px;padding:.95rem}.recipe-tile__media{height:160px}.modal-backdrop{align-items:flex-end;padding:.5rem}.modal,.modal.wide{border-radius:10px 10px 0 0;width:100%;max-height:min(92dvh,900px)}.modal-head{padding:.85rem 1rem}.modal-head h2{font-size:1.05rem}.modal-body{padding:1rem}.modal-actions{flex-wrap:wrap;justify-content:stretch;padding:1rem}.modal-actions .btn{flex:auto}.recipe-detail>img,.recipe-detail>.image-placeholder{height:clamp(200px,48vw,240px)}.recipe-page__actions .btn{flex:auto}.ai-capture,.ai-results{padding:1.25rem}.ai-capture h1{font-size:clamp(1.7rem,8vw,2.4rem)}.match-card{grid-template-columns:72px 1fr;gap:.75rem;padding:.65rem}.match-card img,.match-card .image-placeholder{width:72px;height:72px}}@media (width<=400px){.product-chips{gap:.4rem .65rem}.product-chip{max-width:100%;font-size:.76rem}.product-chips--compact .product-chip{font-size:.7rem}.spice-row-item{gap:.6rem;padding:.3rem .35rem .3rem .3rem}.spice-row-item__thumb{width:52px;max-width:52px;height:52px;max-height:52px}.qty-bubble{margin-left:0}}.admin{background:linear-gradient(180deg, #ef641b0f, transparent 160px), var(--paper);flex-direction:column;min-height:100vh;display:flex}.admin__header{z-index:100;min-height:var(--header-h);height:var(--header-h);background:var(--white);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:0 1.5rem;display:flex;position:sticky;top:0}.admin__brand{color:inherit;flex-shrink:0;align-items:center;gap:.75rem;min-height:44px;text-decoration:none;display:flex}.admin__brand img{object-fit:contain;width:auto;max-width:min(160px,42vw);height:42px}.admin__brand-label{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--charcoal);font-size:.85rem}.admin__header-nav{align-items:center;gap:.35rem;display:flex}.admin__main{flex:1;width:100%;max-width:28rem;margin:0 auto;padding:clamp(1.5rem,4vw,2.5rem) 1.25rem 3rem}.admin--wide .admin__main{max-width:56rem}.admin__eyebrow{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--ember);margin:0 0 .5rem;font-size:.75rem}.admin__main>h1,.admin__heading-row h1{margin:0 0 .75rem;font-size:clamp(1.6rem,3.5vw,2.2rem)}.admin__lead{color:var(--ash);margin:0 0 1.75rem;line-height:1.5}.admin__crumb{margin:0 0 1rem}.admin__back{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--ash);font-size:.8rem;text-decoration:none;transition:color .15s}.admin__back:hover{color:var(--ember)}.admin__view-link{margin:0 0 1.25rem}.admin__view-link a{color:var(--ember);font-weight:600;text-decoration:none}.admin__view-link a:hover{text-decoration:underline}.admin__login-card{background:var(--white);border:1px solid var(--border);padding:1.5rem 1.25rem 1.75rem}.admin__form{flex-direction:column;gap:.85rem;display:flex}.admin__form input,.admin__form select,.admin__form textarea,.admin__lines input,.admin__lines textarea{font:inherit;font-family:var(--font-body);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--white);color:var(--ink);min-width:0;padding:.65rem .75rem}.admin__form input:focus,.admin__form select:focus,.admin__form textarea:focus,.admin__lines input:focus,.admin__lines textarea:focus{outline:2px solid var(--ember-soft);border-color:var(--ember)}.admin__form .btn{align-self:flex-start}.admin__form .btn:disabled{opacity:.6;cursor:wait}.admin__actions{flex-wrap:wrap;gap:.75rem;display:flex}.admin__tip-url{margin:0 0 1.25rem}.admin__tip-url a{color:var(--ember);overflow-wrap:anywhere;font-weight:600}.admin__error{color:#b42318;margin:0;font-weight:600}.admin__sections{flex-direction:column;gap:.65rem;margin:0 0 2rem;padding:0;list-style:none;display:flex}.admin__section-card{background:var(--white);border:1px solid var(--border);color:inherit;padding:1.1rem 1.15rem 1.25rem;text-decoration:none;transition:border-color .2s,box-shadow .2s;display:block}.admin__section-card:hover{border-color:var(--ember);box-shadow:var(--shadow)}.admin__section-card h2{margin:0 0 .35rem;font-size:1.15rem}.admin__section-card p{color:var(--ash);font-size:.95rem;line-height:1.45}.admin__heading-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem;margin-bottom:1.25rem;display:flex}.admin__heading-row h1{margin-bottom:0}.admin__tabs{border-bottom:1px solid var(--border-strong);gap:.15rem;margin-bottom:1.25rem;display:flex}.admin__tab{color:var(--ash);font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;border-bottom:3px solid #0000;align-items:center;margin-bottom:-1px;padding:.55rem .95rem;font-size:.8rem;text-decoration:none;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.admin__tab:hover{color:var(--ember)}.admin__tab[aria-current=page],.admin__tab[aria-selected=true]{color:var(--ember);background:var(--ember-soft);border-bottom-color:var(--ember)}button.admin__tab{font:inherit;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;font-size:.8rem}.admin__search{flex-direction:column;gap:.35rem;max-width:32rem;margin-bottom:1.25rem;display:flex}.admin__search-row{flex-wrap:wrap;gap:.5rem;display:flex}.admin__search input{min-width:0;min-height:44px;font:inherit;font-family:var(--font-body);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--white);color:var(--ink);flex:12rem;padding:.55rem .75rem}.admin__search input:focus{outline:2px solid var(--ember-soft);border-color:var(--ember)}.admin__search .btn{min-height:44px}.admin__table-wrap{background:var(--white);border:1px solid var(--border);overflow-x:auto}.admin__table{border-collapse:collapse;width:100%}.admin__table th,.admin__table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.75rem 1rem}.admin__table tr:last-child td{border-bottom:0}.admin__table th{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--ash);background:#00000005;font-size:.72rem;font-weight:600}.admin__table a{color:var(--ink);font-weight:600;text-decoration:none}.admin__table a:hover{color:var(--ember)}.admin__pager{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin-top:1.25rem;display:flex}.admin__pager-status{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);font-size:.8rem}.admin__pager [aria-disabled=true]{opacity:.4;pointer-events:none}@media (width<=640px){.admin__table th:nth-child(3),.admin__table td:nth-child(3){display:none}.admin__header{padding:0 1rem}.admin__brand-label{display:none}}.admin__record-form{gap:1.25rem}.admin__fieldset{border:1px solid var(--border);border-radius:var(--radius);background:var(--white);flex-direction:column;gap:.5rem;min-width:0;margin:0;padding:1rem 1.1rem 1.15rem;display:flex}.admin__fieldset legend{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;padding:0 .35rem;font-size:.8rem;font-weight:600}.admin__field{flex-direction:column;gap:.35rem;min-width:0;display:flex}.admin__field>label,.admin__label{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--charcoal);margin:0;font-size:.75rem;font-weight:600}.admin__fieldset>label,.admin__fieldset>.admin__label{color:var(--ash);font-weight:600}.admin__row{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1rem;display:grid}.admin__form [aria-invalid=true]{border-color:#b42318;box-shadow:0 0 0 1px #b42318}fieldset.admin__fieldset[aria-invalid=true]{box-shadow:none;border-color:#b42318}.admin__field-error{color:#b42318;margin:0;font-size:.9rem;font-weight:600}.admin__hint{color:var(--ash);margin:0;font-size:.9rem;line-height:1.45}.admin__slug{overflow-wrap:anywhere;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:.55rem .75rem;font-family:ui-monospace,monospace}.admin__lines ol{flex-direction:column;gap:.4rem;margin:0 0 .5rem;padding-left:1.5rem;display:flex}.admin__lines li{align-items:flex-start;gap:.3rem;display:flex}.admin__lines input,.admin__lines textarea{flex:1}.admin__icon-button{width:2.25rem;height:2.25rem;font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--white);color:var(--charcoal);cursor:pointer;flex:none;transition:background .15s,color .15s,border-color .15s}.admin__icon-button:hover:not(:disabled){border-color:var(--ink);background:var(--ink);color:var(--white)}.admin__icon-button:disabled{opacity:.35;cursor:default}.admin__checks{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.4rem 1rem;display:grid}.admin__check{align-items:center;gap:.5rem;display:flex}.admin__multiselect{flex-direction:column;gap:.5rem;display:flex}.admin__multiselect-chips{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.admin__multiselect-chip{border-radius:var(--radius);background:var(--ember-soft);border:1px solid #ef641b40;align-items:center;gap:.35rem;padding:.25rem .5rem;font-size:.9rem;display:inline-flex}.admin__multiselect-remove{appearance:none;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0 .15rem;font-size:1.1rem;line-height:1}.admin__multiselect-remove:hover{color:var(--ember)}.admin__multiselect-combo{position:relative}.admin__multiselect-list{z-index:5;background:var(--paper);border:1px solid var(--border-strong);border-radius:var(--radius);max-height:14rem;margin:0;padding:.25rem 0;list-style:none;position:absolute;top:calc(100% + .2rem);left:0;right:0;overflow:auto;box-shadow:0 4px 14px #00000014}.admin__multiselect-option{appearance:none;text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:0;padding:.45rem .75rem;display:block}.admin__multiselect-option:hover,.admin__multiselect-option:focus{background:var(--ember-soft);outline:none}.admin__notice{border-radius:var(--radius);background:var(--ember-soft);border:1px solid #ef641b40;margin:0 0 1rem;padding:.75rem 1rem;font-weight:600}.admin__notice--archived{border-color:var(--border-strong);background:#0000000a}.admin__danger{border-top:1px solid var(--border-strong);margin-top:2.5rem;padding-top:1.5rem}.admin__danger form{flex-direction:column;align-items:flex-start;gap:.75rem;display:flex}.admin__danger form+form{margin-top:1rem}.admin__lang{background:var(--white);border:1px solid var(--border);flex-direction:column;padding:0 1.1rem 1.15rem;display:flex}.admin__lang .admin__tabs{margin:0 -1.1rem 1rem;padding:0 1.1rem}.admin__panel{flex-direction:column;gap:1rem;display:flex}.admin__panel[hidden]{display:none}.admin__lookup{margin:2rem 0 2.5rem}.admin__lookup h2{margin:0 0 .75rem;font-size:1.15rem}.admin__lookup input[type=text]{width:100%;min-width:9rem;min-height:44px;font:inherit;font-family:var(--font-body);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--white);color:var(--ink);padding:.55rem .75rem}.admin__lookup input[type=text]:focus{outline:2px solid var(--ember-soft);border-color:var(--ember)}.admin__lookup input[aria-invalid=true]{border-color:#b42318}.admin__lookup .admin__field{margin:0}.admin__table td.admin__lookup-uses{font-variant-numeric:tabular-nums;padding-top:1.35rem}.admin__icon-select{align-items:center;gap:.5rem;display:flex;position:relative}.admin__icon-preview{flex:none}.admin__icon-combobox{min-width:9rem;min-height:44px;font:inherit;font-family:var(--font-body);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--white);color:var(--ink);text-align:left;cursor:pointer;flex:auto;padding:.55rem .75rem}.admin__icon-combobox:focus{outline:2px solid var(--ember-soft);border-color:var(--ember)}.admin__icon-combobox[aria-invalid=true]{border-color:#b42318}.admin__icon-listbox{z-index:40;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--white);margin:0;padding:.25rem 0;list-style:none;overflow:auto;box-shadow:0 8px 24px #0000001f}.admin__icon-listbox [role=option]{cursor:pointer;align-items:center;gap:.5rem;padding:.4rem .75rem;display:flex}.admin__icon-listbox [role=option].is-active,.admin__icon-listbox [role=option]:hover{background:color-mix(in srgb, var(--ember) 12%, var(--white))}.admin__icon-listbox [role=option][aria-selected=true]{font-weight:600}@media (width>=641px){.admin__lookup .admin__lookup-actions{flex-wrap:nowrap}}.admin__lookup-actions{flex-wrap:wrap;gap:.5rem;display:flex}.admin__lookup-actions .btn,.admin__lookup-new .btn{min-height:44px}.admin__lookup-actions .btn:disabled,.admin__lookup-new .btn:disabled{opacity:.6;cursor:wait}.admin__lookup-new{flex-wrap:wrap;align-items:flex-start;gap:.75rem;margin-top:1rem;display:flex}.admin__lookup-new .admin__field{flex:12rem}.admin__lookup-new .btn{margin-top:1.4rem}@media (width<=640px){.admin__lookup thead{display:none}.admin__lookup table,.admin__lookup tbody,.admin__lookup tr,.admin__lookup td{display:block}.admin__lookup tr{border-bottom:1px solid var(--border);padding:.75rem 1rem}.admin__lookup tr:last-child{border-bottom:0}.admin__table .admin__lookup td,.admin__lookup .admin__table td,.admin__lookup .admin__table td.admin__lookup-uses{border-bottom:0;padding:0 0 .6rem}.admin__lookup td[data-label]:before{content:attr(data-label);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--ash);margin-bottom:.25rem;font-size:.72rem;display:block}.admin__lookup .admin__table td.admin__lookup-uses,.admin__lookup .admin__table td.admin__lookup-icon{display:block}.admin__lookup td.admin__lookup-uses:before{margin-right:.5rem;display:inline}}.admin__image{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.admin__image-preview{aspect-ratio:4/3;object-fit:cover;background:var(--mist);border:1px solid var(--border);border-radius:var(--radius);width:12rem;max-width:100%;display:block}.admin__history-list{margin:0;padding:0;list-style:none}.admin__history-entry{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);margin:0 0 1rem;padding:1rem 1.25rem}.admin__history-head{flex-wrap:wrap;align-items:baseline;gap:.75rem;margin-bottom:.5rem;display:flex}.admin__history-time{font-family:var(--font-display);color:var(--ash);font-size:.8rem}.admin__history-recipes{flex-direction:column;gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.admin__history-recipe{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}
