/* ==========================================================
   FOODCOURT — CONSUMER EXPERIENCE
   Escopo exclusivo da área autenticada (body.app-mode)
   ========================================================== */
:root{--consumer-bg:#f7f9f8;--consumer-card:#fff;--consumer-text:#171717;--consumer-muted:#667085;--consumer-soft:#98a2b3;--consumer-green:#07883f;--consumer-green-dark:#05652f;--consumer-green-pale:#eaf7ef;--consumer-orange:#ff6b00;--consumer-orange-dark:#e85f00;--consumer-orange-pale:#fff1e7;--consumer-border:#e5eae7;--consumer-divider:#eef1ef;--consumer-radius:18px;--consumer-shadow:0 10px 30px rgba(24,49,34,.07)}
body.app-mode{background:var(--consumer-bg);color:var(--consumer-text)}body.app-mode .main{max-width:1440px;padding:36px 32px 100px}body.app-mode .page{animation:consumerPage .35s ease}.fc-icon{width:19px;height:19px;display:block;flex:none}.eyebrow{color:var(--consumer-green);font-size:.7rem;font-weight:800;letter-spacing:.14em}
body.app-mode .header{height:72px;background:rgba(255,255,255,.95);border-bottom:1px solid var(--consumer-divider);box-shadow:none}body.app-mode .header-inner{height:72px;max-width:1440px;padding:10px 32px;gap:14px}body.app-mode .logo{font-size:1.05rem;color:#222}body.app-mode .logo-mark{width:38px;height:38px;border-radius:11px;background:var(--consumer-green);color:#fff;box-shadow:none;font-size:.9rem}body.app-mode .logo b{color:var(--consumer-green)}body.app-mode .header-loc{max-width:190px;height:48px;padding:7px 12px;border:0;background:transparent}body.app-mode .header-loc:hover{background:var(--consumer-green-pale)}body.app-mode .header-loc .loc-emoji{font-size:0;width:20px}body.app-mode .header-loc .loc-emoji:after{content:'⌖';font-size:1.25rem;color:var(--consumer-green)}body.app-mode .header-loc .text-xs{font-size:.66rem;color:var(--consumer-soft)}body.app-mode .header-loc b{font-size:.8rem}body.app-mode .search-trigger{height:48px;flex:1;max-width:none;background:#f5f7f6;border:1px solid transparent;border-radius:14px;color:var(--consumer-soft);font-size:.84rem}body.app-mode .search-trigger:hover,body.app-mode .search-trigger:focus-visible{background:#fff;border-color:#8bcba7;box-shadow:0 0 0 3px rgba(7,136,63,.08)}body.app-mode .header-actions{gap:8px}body.app-mode .icon-btn{width:44px;height:44px;border-radius:13px;background:#fff;border-color:var(--consumer-border)}body.app-mode .icon-btn:hover{color:var(--consumer-green);background:var(--consumer-green-pale)}body.app-mode .avatar-btn{width:44px;height:44px;border-radius:13px;background:linear-gradient(145deg,#eaf7ef,#fff);border:1px solid #cfe8d8;font-size:1rem}
.home-intro{margin:6px 0 28px}.home-intro h1{font-size:clamp(1.65rem,2.7vw,2.15rem);letter-spacing:-.04em}.home-intro h1 span{font-size:1.5rem}.home-intro>p{color:var(--consumer-muted);margin-top:5px}.intro-location{display:flex;align-items:center;gap:6px;color:var(--consumer-muted);font-size:.78rem;margin-top:10px}.intro-location svg{width:16px;height:16px;color:var(--consumer-green)}.intro-location:hover{color:var(--consumer-green)}
.consumer-hero{min-height:330px;display:flex;align-items:center;position:relative;overflow:hidden;border-radius:24px;padding:48px;background:linear-gradient(135deg,#033d22 0%,#05652f 58%,#079447 100%);box-shadow:var(--consumer-shadow)}.consumer-hero>div{position:relative;z-index:1;max-width:590px;color:#fff}.consumer-hero .eyebrow{color:#b9efce}.consumer-hero h2{font-size:clamp(2rem,3.4vw,3.15rem);line-height:1.07;margin:12px 0 14px;letter-spacing:-.05em}.consumer-hero p{color:#d9e9df;font-size:1rem}.hero-actions{display:flex;gap:10px;margin-top:26px}.hero-actions .btn{min-height:48px}.hero-actions .btn-primary{background:var(--consumer-orange);box-shadow:0 8px 20px rgba(255,107,0,.25)}.hero-actions .btn-primary:hover{background:var(--consumer-orange-dark)}.btn-light{background:#fff;color:var(--consumer-green-dark)}.home-hero-skeleton{height:330px;border-radius:24px;margin-bottom:40px}
.consumer-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:48px 0 20px}.consumer-section-head h2{font-size:1.5rem;letter-spacing:-.035em}.consumer-section-head p{color:var(--consumer-muted);font-size:.84rem;margin-top:5px}.consumer-section-head>a{display:flex;align-items:center;gap:3px;color:var(--consumer-green);font-weight:700;font-size:.8rem}.consumer-section-head>a svg{width:16px}.consumer-section-head>a:hover{gap:7px}
.modern-categories{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 12px}.modern-category{min-width:104px;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--consumer-muted)}.modern-category i{width:72px;height:72px;display:grid;place-items:center;border-radius:20px;background:#fff;border:1px solid var(--consumer-border);transition:.25s}.modern-category svg{width:30px;height:30px;color:var(--consumer-green)}.modern-category span{font-size:.74rem;font-weight:650}.modern-category:hover i,.modern-category.active i{transform:translateY(-3px);border-color:#8dccaa;background:var(--consumer-green-pale);box-shadow:0 10px 20px rgba(7,136,63,.08)}.modern-category.active span{color:var(--consumer-green)}
.offer-strip{display:grid;grid-template-columns:repeat(3,minmax(300px,1fr));gap:16px;overflow-x:auto}.offer-card{min-height:148px;display:flex;align-items:center;gap:20px;padding:24px;border-radius:20px;border:1px solid transparent}.offer-card>i{width:62px;height:62px;display:grid;place-items:center;border-radius:18px;background:#fff9}.offer-card>i svg{width:29px;height:29px}.offer-card>div{display:flex;flex-direction:column}.offer-card b{font-family:var(--font-display);font-size:1.05rem}.offer-card span{color:var(--consumer-muted);font-size:.78rem;margin:5px 0 15px}.offer-card em{display:flex;align-items:center;color:inherit;font-style:normal;font-size:.72rem;font-weight:750}.offer-card em svg{width:14px}.offer-card:hover{transform:translateY(-3px);box-shadow:var(--consumer-shadow)}.tone-orange{background:var(--consumer-orange-pale);color:#b54708;border-color:#ffd5b8}.tone-green{background:var(--consumer-green-pale);color:var(--consumer-green-dark);border-color:#cde8d7}.tone-cream{background:#fff8e8;color:#805b10;border-color:#f2dfac}
.restaurant-row,.product-row{display:flex;gap:18px;overflow-x:auto;padding:4px 2px 18px;scroll-snap-type:x proximity}.restaurant-row>* ,.product-row>*{scroll-snap-align:start}body.app-mode .rcard{width:330px;border-color:var(--consumer-divider);border-radius:18px;background:#fff;box-shadow:0 5px 18px rgba(24,49,34,.045)}body.app-mode .rcard:hover{transform:translateY(-3px);box-shadow:var(--consumer-shadow)}body.app-mode .rcard-cover{height:195px;background-image:url('/assets/images/food-hero.png');background-size:880px auto;background-color:#eaf7ef;filter:none}body.app-mode .rest-burger-neon{background-position:70% 35%}body.app-mode .rest-pizza-suprema{background-position:94% 80%}body.app-mode .rest-sushi-zen{background-position:36% 78%}body.app-mode .rest-verde-vida{background-image:url('/assets/images/food-hero-v2.png');background-position:72% 86%}body.app-mode .rest-frango-crispy{background-image:url('/assets/images/food-hero-v2.png');background-position:63% 75%}body.app-mode .rcard-cover:after{background:linear-gradient(180deg,transparent 55%,rgba(7,25,15,.16))}body.app-mode .rcard-badges{top:13px;left:13px;right:55px}body.app-mode .badge{font-size:.62rem;padding:5px 8px}body.app-mode .badge svg{width:13px;height:13px}body.app-mode .fav-btn{right:13px;top:13px;background:#fff!important;color:#405149;border:1px solid #fff;width:40px;height:40px;border-radius:50%;box-shadow:0 5px 15px #0002}body.app-mode .fav-btn svg{width:20px;height:20px}body.app-mode .fav-btn.on{color:#e11d48;background:#fff!important}body.app-mode .fav-btn.on svg{fill:currentColor}body.app-mode .rcard-body{padding:17px 18px 19px}body.app-mode .rcard-logo{width:42px;height:42px;background:#fff;color:var(--consumer-green);box-shadow:0 5px 15px #0001,0 0 0 4px #fff}body.app-mode .rcard-logo svg{width:21px}body.app-mode .rcard-title{font-size:1.02rem}body.app-mode .rcard-cat{color:var(--consumer-muted)}body.app-mode .rcard-meta{color:var(--consumer-muted);gap:8px 12px}body.app-mode .rcard-meta svg{width:15px;height:15px}body.app-mode .rating-pill{background:#fff8e8;border:0;color:#8b5b00}
body.app-mode .pcard{width:265px;border-radius:18px;border-color:var(--consumer-divider);box-shadow:0 5px 18px rgba(24,49,34,.04)}body.app-mode .pcard-img{height:165px;background-image:url('/assets/images/food-hero-v2.png');background-size:700px auto;background-position:75% 75%;font-size:0}body.app-mode .pcard:nth-child(even) .pcard-img{background-image:url('/assets/images/food-hero.png');background-position:72% 45%}body.app-mode .pcard-body{padding:15px 16px 17px}body.app-mode .pcard-name{font-size:.94rem}body.app-mode .pcard-desc{-webkit-line-clamp:2}body.app-mode .pcard-price .now{color:var(--consumer-text)}body.app-mode .add-btn{width:40px;height:40px;background:var(--consumer-green);border-radius:50%;color:#fff}body.app-mode .add-btn svg{width:19px;height:19px}body.app-mode .add-btn:hover{background:var(--consumer-green-dark);transform:scale(1.06)}
.nearby-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.nearby-list article{display:grid;grid-template-columns:94px 1fr auto;align-items:center;gap:16px;background:#fff;border:1px solid var(--consumer-divider);border-radius:17px;padding:10px;cursor:pointer;transition:.22s}.nearby-list article:hover{transform:translateY(-2px);box-shadow:var(--consumer-shadow)}.nearby-photo{height:76px;border-radius:13px;background:url('/assets/images/food-hero.png') 70% center/400px auto}.nearby-list h3{font-size:.94rem}.nearby-list p{color:var(--consumer-muted);font-size:.72rem;margin:3px 0 8px}.nearby-list span{display:flex;align-items:center;color:var(--consumer-muted);font-size:.7rem}.nearby-list span svg{width:14px;height:14px;color:#f5a623;margin-right:4px}.nearby-list>article>i{color:var(--consumer-soft)}.nearby-list>article>i svg{width:18px}
.repeat-order{background:#fff;border:1px solid var(--consumer-divider);border-radius:20px;padding:22px;display:flex;align-items:center;gap:18px}.repeat-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:17px;background:var(--consumer-green-pale);color:var(--consumer-green)}.repeat-icon svg{width:27px;height:27px}.repeat-order>div:nth-child(2){flex:1}.repeat-order span,.repeat-order p{color:var(--consumer-muted);font-size:.74rem}.repeat-order h3{margin:3px 0}.repeat-order b{font-size:.82rem}.empty-modern{width:100%;display:flex;align-items:center;gap:16px}.empty-modern>svg{width:35px;height:35px;color:var(--consumer-green)}.empty-modern>div{flex:1}.empty-modern p{margin-top:4px}.empty-modern>a{color:var(--consumer-green);font-weight:700}.empty-inline{min-height:130px;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--consumer-muted);background:#fff;border:1px dashed var(--consumer-border);border-radius:18px}.empty-inline svg{color:var(--consumer-green)}
/* Shared modernization for every authenticated route */
body.app-mode .card{border-color:var(--consumer-divider);border-radius:18px;background:var(--consumer-card)}body.app-mode .card.clickable:hover{transform:translateY(-3px);box-shadow:var(--consumer-shadow)}body.app-mode .section{margin:38px 0}body.app-mode .section-head h2{font-size:1.45rem}body.app-mode .section-head .sub{color:var(--consumer-muted)}body.app-mode .grid-rest{gap:18px}body.app-mode .grid-rest .rcard{width:100%}body.app-mode .searchbar-lg{height:56px;background:#fff;border-color:var(--consumer-border);border-radius:16px}body.app-mode .chip{background:#fff;border-color:var(--consumer-border);border-radius:12px}body.app-mode .chip.active{background:var(--consumer-green-pale);border-color:#9bd1b2;color:var(--consumer-green)}body.app-mode .drawer{background:#fff;border-color:var(--consumer-divider)}body.app-mode .drawer-right{width:min(430px,100vw)}body.app-mode .drawer-head{border-color:var(--consumer-divider)}body.app-mode .state-box{background:#fff;border:1px dashed var(--consumer-border);border-radius:20px;padding:48px 24px}body.app-mode .toast{background:#fff;border-color:var(--consumer-border);box-shadow:var(--consumer-shadow)}body.app-mode .toast.success{border-left:4px solid #12a150}body.app-mode .toast.error{border-left:4px solid #dc2626}body.app-mode .profile-head,body.app-mode .tracking-status{border-radius:22px;background:linear-gradient(135deg,#eaf7ef,#fff);border-color:#cce8d7}
html[data-theme="dark"] body.app-mode{--consumer-bg:#0d1210;--consumer-card:#151b18;--consumer-text:#f5f7f6;--consumer-muted:#aab5af;--consumer-soft:#7e8b84;--consumer-border:#29332e;--consumer-divider:#202a25;--consumer-green:#21b866;--consumer-green-dark:#15934f;--consumer-green-pale:#172d21;background:var(--consumer-bg)}html[data-theme="dark"] body.app-mode .header{background:rgba(13,18,16,.95);border-color:var(--consumer-border)}html[data-theme="dark"] body.app-mode .search-trigger,html[data-theme="dark"] body.app-mode .icon-btn,html[data-theme="dark"] body.app-mode .rcard,html[data-theme="dark"] body.app-mode .pcard,html[data-theme="dark"] body.app-mode .nearby-list article,html[data-theme="dark"] body.app-mode .repeat-order,html[data-theme="dark"] body.app-mode .card{background:var(--consumer-card);border-color:var(--consumer-border)}html[data-theme="dark"] body.app-mode .consumer-hero{box-shadow:none}html[data-theme="dark"] body.app-mode .modern-category i{background:var(--consumer-card);border-color:var(--consumer-border)}html[data-theme="dark"] body.app-mode .btn-light{background:#f5f7f6;color:#10361f}
@media(max-width:1050px){body.app-mode .header-loc{display:none}body.app-mode .main{padding-inline:22px}.offer-strip{grid-template-columns:repeat(3,290px)}.nearby-list{grid-template-columns:1fr}}
@media(max-width:899px){body.app-mode .header{height:64px}body.app-mode .header-inner{height:64px;padding:8px 16px}body.app-mode .search-trigger{display:flex!important;margin-left:auto;width:44px;flex:0 0 44px;font-size:0;padding:0;justify-content:center}body.app-mode .search-trigger svg{width:21px;height:21px}body.app-mode .header-actions .icon-btn{display:none!important}body.app-mode .header-actions .avatar-btn{display:grid!important}body.app-mode .main{padding:22px 16px calc(var(--bottomnav-h) + 92px)}body.app-mode .bottomnav{background:rgba(255,255,255,.96);border-top:1px solid var(--consumer-divider);box-shadow:0 -8px 24px rgba(20,42,29,.06)}body.app-mode .bottomnav a.active{color:var(--consumer-green)}.consumer-hero{min-height:310px;padding:34px;background-position:62% center}.restaurant-row{margin-right:-16px}.product-row{margin-right:-16px}}
@media(max-width:600px){.home-intro{margin-bottom:22px}.home-intro h1{font-size:1.5rem}.consumer-hero{min-height:390px;align-items:end;padding:28px 22px;background:linear-gradient(135deg,#033d22 0%,#05652f 58%,#079447 100%)}.consumer-hero h2{font-size:2rem}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.consumer-section-head{margin-top:38px}.consumer-section-head h2{font-size:1.25rem}.consumer-section-head p{font-size:.76rem}.modern-category{min-width:88px}.modern-category i{width:64px;height:64px}.offer-strip{grid-template-columns:repeat(3,270px)}body.app-mode .rcard{width:292px}body.app-mode .pcard{width:235px}.nearby-list article{grid-template-columns:78px 1fr auto}.nearby-photo{height:70px}.repeat-order{align-items:flex-start;flex-wrap:wrap}.repeat-order .btn{width:100%}.empty-modern{flex-wrap:wrap}.empty-modern>a{width:100%;text-align:center;padding:12px;background:var(--consumer-green-pale);border-radius:10px}}
@keyframes consumerPage{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){body.app-mode .page{animation:none}.modern-category i,.offer-card,.nearby-list article{transition:none}}
