/* Responsive safety layer — loaded last to resolve cross-page conflicts. */
html,body{max-width:100%;overflow-x:clip}.app,.main,.page{min-width:0}.main img,.main svg{max-width:100%}.no-scrollbar{-webkit-overflow-scrolling:touch}
*,*:before,*:after{box-sizing:border-box}input,select,textarea,button{max-width:100%}
body.app-mode .steps{display:flex!important;grid-template-columns:none!important;max-width:none!important;margin-inline:0!important}body.app-mode .steps:before{content:none!important}body.app-mode .step{padding:0!important;position:static!important;text-align:center!important}body.app-mode .step>b{display:none!important}

@media(max-width:899px){
  :root{--header-h:64px;--bottomnav-h:68px}
  body.app-mode .header{height:64px!important}body.app-mode .header-inner{width:100%;height:64px!important;padding:8px 14px!important;gap:9px!important}
  body.app-mode .logo{flex:none;font-size:.92rem}body.app-mode .logo-mark{width:36px;height:36px;border-radius:10px}body.app-mode .mobile-menu-btn{display:none!important}
  body.app-mode .desktop-links{display:none!important}body.app-mode .header-loc{display:none!important}
  body.app-mode .search-trigger{order:2;margin-left:auto!important;width:44px!important;min-width:44px;max-width:44px!important;height:44px!important;padding:0!important;justify-content:center;font-size:0!important}
  body.app-mode .search-trigger svg{width:20px;height:20px;margin:0}
  body.app-mode .header-actions{order:3;flex:none;gap:6px!important}body.app-mode .header-actions .icon-btn{display:none!important}body.app-mode .header-actions .avatar-btn{display:grid!important;width:44px!important;height:44px!important}
  body.app-mode .main{width:100%;max-width:100%;padding:24px 16px calc(92px + env(safe-area-inset-bottom))!important}
  body.app-mode .bottomnav{height:calc(68px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:5px 6px env(safe-area-inset-bottom);background:rgba(255,255,255,.96)!important;backdrop-filter:blur(16px);border-top:1px solid var(--fc-line);box-shadow:0 -8px 28px rgba(3,61,34,.08)}
  body.app-mode .bottomnav a{min-width:0;min-height:56px;gap:2px;padding:5px 2px;font-size:.62rem;white-space:nowrap}body.app-mode .bottomnav a svg{width:21px;height:21px}
  body.app-mode .bottomnav a.active{position:relative;color:var(--fc-green-dark)}body.app-mode .bottomnav a.active:before{content:"";position:absolute;top:-5px;width:28px;height:3px;border-radius:0 0 5px 5px;background:var(--fc-green)}
  .cartbar{left:14px!important;right:14px!important;bottom:calc(78px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:none!important;height:54px;border-radius:16px!important}
  .drawer-right{width:100vw!important;max-width:100vw!important;border-radius:0!important}.drawer-bottom{width:100%!important;max-height:92dvh!important;border-radius:22px 22px 0 0!important}.drawer-body{overscroll-behavior:contain}.drawer-foot{padding-bottom:calc(16px + env(safe-area-inset-bottom))!important}
  .toasts{top:76px!important;left:14px!important;right:14px!important;bottom:auto!important;width:auto!important;max-width:none!important;transform:none!important;align-items:stretch}.toast{width:100%!important;max-width:none!important;min-width:0!important;padding:13px 14px!important;line-height:1.4;overflow-wrap:anywhere}.toast .t-emoji{flex:none}.toast>span:last-child,.toast>div{min-width:0;max-width:100%;overflow-wrap:anywhere}
  .consumer-section-head,.section-head{align-items:flex-start!important}.consumer-section-head>a,.section-head>a{flex:none}
  .restaurant-row,.product-row,.modern-categories,.offer-strip,.tabs,.chips{scroll-snap-type:x mandatory;overscroll-behavior-inline:contain}.restaurant-row>*,.product-row>*,.modern-categories>*,.offer-strip>*{scroll-snap-align:start}
  .grid-rest,.grid-products,.favorites-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .rest-hero{height:235px!important;border-radius:20px!important}.rest-summary{margin-top:-30px!important;padding:18px!important}.rest-info{min-width:0!important}.rest-info h1{font-size:1.45rem!important}.menu-tabs{top:64px!important;margin-inline:-16px!important;padding-inline:16px!important;overflow-x:auto}.mitem{min-height:130px!important;padding:16px!important}.mitem-thumb{width:96px!important;height:92px!important}
  .profile-page,.customer-feature-page{width:100%;max-width:100%}.profile-head{padding:22px!important}.profile-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.account-page-heading{align-items:flex-start!important}.profile-menu-card .plist{grid-template-columns:1fr!important}.detail-page-shell,.profile-detail-layout,.support-layout{grid-template-columns:1fr!important}
  .orders-list,.notification-list{width:100%}.order-card,.notif-item{min-width:0}.order-head{gap:11px}.order-actions{flex-wrap:wrap}.order-actions .btn{flex:1 1 150px}
  .partner-shell{grid-template-columns:1fr!important}.partner-sidebar{position:static!important;width:100%;height:auto!important;padding:8px!important}.partner-sidebar nav{display:flex!important;gap:6px;overflow-x:auto;scroll-snap-type:x mandatory}.partner-sidebar nav a{flex:none;scroll-snap-align:start}.partner-main{width:100%;min-width:0}.partner-columns{grid-template-columns:1fr!important}.partner-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}.partner-panel{overflow:hidden}.partner-order{max-width:100%}.admin-page{width:100%}
}

@media(max-width:768px){
  .fcv2-nav{height:72px!important;padding:0 16px!important;grid-template-columns:1fr auto!important}.fcv2-logo{font-size:1.2rem!important}.fcv2-logo span{width:34px!important;height:34px!important;font-size:1.65rem!important}.fcv2-nav>div{gap:7px!important}.fcv2-enter{min-width:0!important;height:42px!important;padding:0 12px!important}.fcv2-enter span{display:none}.fcv2-menu{display:grid!important;place-items:center}
  .fcv2-nav.open nav{top:66px!important;left:10px!important;right:10px!important;z-index:20;max-height:calc(100dvh - 80px);overflow:auto}.fcv2-nav.open nav button{min-height:46px}
  .fcv2-hero{width:100%!important;min-width:0;min-height:auto!important;padding:36px 18px 28px!important;background-position:62% center!important}.fcv2-copy{width:100%!important;min-width:0!important;max-width:100%!important}.fcv2-copy h1{font-size:clamp(2.45rem,12vw,3.3rem)!important;margin:22px 0 17px!important}.fcv2-copy>p{width:100%;max-width:100%!important;font-size:.96rem!important;overflow-wrap:anywhere}.fcv2-actions{width:100%;flex-direction:column;gap:10px!important;margin-top:25px!important}.fcv2-actions a,.fcv2-actions button{width:100%;height:52px!important}.fcv2-proof{width:100%!important;max-width:100%;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important}.fcv2-proof article{min-width:0;padding:14px 8px!important}.fcv2-proof article>*{min-width:0}.fcv2-proof p,.fcv2-proof b,.fcv2-proof span{max-width:100%;overflow-wrap:anywhere}
  .fcv2-login{width:100%!important;margin-top:28px!important;padding:26px 18px!important;border-radius:20px!important}.fcv2-section{width:100%!important;padding-inline:18px!important}.fcv2-intro,.fcv2-partner>.fcv2-section{grid-template-columns:1fr!important;gap:34px!important}.fcv2-intro>div:first-child{padding-left:0!important}.intro-food,.partner-photo{min-height:300px!important;height:300px!important}.food-mosaic{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:150px!important}.promo-banner{min-height:480px!important;margin-block:55px!important;padding:36px 22px!important;border-radius:24px!important}.promo-banner h2{font-size:2.25rem!important}.promo-banner ul{flex-wrap:wrap!important;gap:10px 16px!important}.promo-banner>div>div{flex-direction:column}.promo-banner a,.promo-banner button{text-align:center}.delivery-pack{left:12px!important;bottom:-18px!important}.footer-main{width:calc(100% - 36px)!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:45px 0!important}.footer-about{grid-column:1/-1}
  body.auth-mode .main{padding:0!important}.auth-page{min-height:100dvh!important}.auth-panel{padding:26px 18px!important}.auth-card{width:100%!important;max-width:480px!important}.signup-nav{padding-inline:16px!important}.signup-content{padding:16px 14px 30px!important}.signup-copy h1{font-size:2.35rem!important}.signup-benefits{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.signup-benefits article{min-width:0;padding-inline:4px!important}.signup-benefits span{font-size:.65rem!important}.signup-card{width:100%;padding:23px 17px!important}.signup-form-grid{grid-template-columns:1fr!important}.signup-form-grid .wide{grid-column:auto!important}
  body.app-mode .steps{gap:5px!important;margin-bottom:24px!important}.step{min-width:0!important;gap:6px!important}.step span{font-size:.6rem!important;white-space:nowrap}.step-track{width:100%!important}.checkout-nav{position:static!important;bottom:auto!important;margin-top:18px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}.checkout-nav .btn{min-height:50px}.payment-heading{align-items:flex-start!important}.payment-lock{flex:none}.pix-payment-layout{grid-template-columns:1fr!important;padding:15px!important}.pix-qr-card{width:100%!important;max-width:300px!important}.pix-qr-card img{width:min(210px,70vw)!important;height:auto!important}.pix-payment-content label>div{grid-template-columns:1fr!important}.checkout-card-form{grid-template-columns:1fr!important;padding:17px!important}.card-visual{width:100%!important;max-width:330px!important}.card-fields{grid-template-columns:1fr 1fr}.select-card{width:100%;min-width:0}.sc-main{overflow:hidden}.sc-title,.sc-sub{white-space:normal!important;line-height:1.4}.delivery-choice{width:100%}
}

@media(max-width:520px){
  body.app-mode .page,body.app-mode .page>*{max-width:100%;min-width:0}body.app-mode :where(h1,h2,h3,p,small,b,strong,span){overflow-wrap:break-word}body.app-mode :where(.card,.panel,form,section,article){min-width:0}
  body.app-mode .main{padding:20px 13px calc(92px + env(safe-area-inset-bottom))!important}.page>.h-lg,.page>h1{font-size:1.75rem!important}.home-intro{margin-top:2px}.home-intro h1{font-size:1.45rem!important}.home-intro>p{font-size:.86rem!important}.intro-location{max-width:100%;text-align:left}
  .consumer-section-head{margin:34px 0 15px!important;gap:8px!important}.consumer-section-head h2:before{width:4px!important;margin-right:7px!important}.consumer-section-head h2{font-size:1.2rem!important}.consumer-section-head p{font-size:.74rem!important}.consumer-section-head>a{min-height:34px!important;font-size:.7rem!important}
  .modern-categories{margin-inline:-13px;padding-inline:13px!important;gap:9px!important}.modern-category{min-width:82px!important;gap:8px!important}.modern-category i{width:64px!important;height:64px!important;border-radius:17px!important}.modern-category svg{width:27px!important;height:27px!important}.modern-category span{font-size:.68rem!important}
  .restaurant-row,.product-row,.offer-strip{margin-inline:-13px!important;padding-inline:13px!important;gap:12px!important}.rcard{width:min(84vw,315px)!important}.pcard{width:min(72vw,250px)!important}.offer-strip{grid-template-columns:repeat(3,minmax(255px,78vw))!important}.offer-card{min-height:135px!important;padding:18px!important;gap:14px!important}.offer-card>i{width:52px!important;height:52px!important}
  .grid-rest,.grid-products,.favorites-grid{grid-template-columns:1fr!important}.grid-rest .rcard,.grid-products .pcard,.favorites-grid .rcard,.favorites-grid .pcard{width:100%!important}
  .nearby-list article{grid-template-columns:70px minmax(0,1fr) auto!important;gap:10px!important}.nearby-list>article>i{display:none}.repeat-order{padding:17px!important}.repeat-icon{width:48px!important;height:48px!important}.empty-modern{display:grid!important;grid-template-columns:42px 1fr}.empty-modern>a{grid-column:1/-1}
  .rest-hero{height:190px!important;border-radius:17px!important}.rest-summary{display:grid!important;grid-template-columns:50px 1fr!important;gap:12px!important;margin-top:-22px!important;padding:15px!important}.rest-logo{width:50px!important;height:50px!important}.rest-actions{grid-column:1/-1;width:100%}.rest-actions .btn{flex:1}.menu-tabs{margin-inline:-13px!important;padding-inline:13px!important}.mitem{display:grid!important;grid-template-columns:minmax(0,1fr) 82px!important;min-height:118px!important;padding:14px!important;gap:10px!important}.mitem-thumb{width:82px!important;height:82px!important}.mitem-desc{-webkit-line-clamp:2}.mitem-price{margin-top:8px}
  .profile-head{padding:17px!important}.profile-head-main{align-items:flex-start!important}.profile-stats{gap:6px!important}.stat-box{padding:10px 4px!important}.stat-box b{font-size:1rem!important}.stat-box span{font-size:.59rem!important}.account-page-heading{display:block!important}.account-security{display:inline-flex;margin-top:12px}.profile-menu-card .plist-item{min-height:76px!important;padding:13px!important}.plist-emoji{width:44px!important;height:44px!important}.profile-option{padding:14px!important}.profile-detail-card,.profile-settings-card,.support-form-card{padding:17px!important}
  .order-card,.notif-item,.support-ticket{padding:15px!important}.order-logo{width:44px!important;height:44px!important}.order-actions{display:grid!important;grid-template-columns:1fr!important}.order-actions .btn{width:100%}.tracking-status{padding:21px 17px!important}.tracking-status h1{font-size:1.55rem!important}.pair{min-width:0}.pair>*{min-width:0}
  .checkout-address-form{padding:16px!important}.address-form-head{gap:11px!important}.address-form-head>span{width:44px!important;height:44px!important}.address-form-head p{line-height:1.45}.address-form-grid{gap:13px!important}.address-input input{height:50px!important}.address-privacy{padding:12px!important}.delivery-choice{grid-template-columns:44px minmax(0,1fr)!important;gap:12px!important;padding:14px!important}.delivery-choice-icon{width:44px!important;height:44px!important}.delivery-choice-end{grid-column:2!important}.payment-method-grid{grid-template-columns:1fr!important}.payment-heading h2{font-size:1.2rem!important}.payment-lock{width:42px!important;height:42px!important}.pix-preview,.test-payment-note{padding:13px!important}.card-fields{grid-template-columns:1fr!important}.card-fields .wide{grid-column:auto!important}.pix-payment-screen>header h2{font-size:1.25rem!important}.pix-payment-content input{font-size:.55rem!important}.pix-expiry{width:100%}
  .partner-head,.admin-head{display:block!important}.partner-head .btn,.admin-head .btn,.store-switch{width:100%;margin-top:13px;justify-content:center}.partner-metrics{grid-template-columns:1fr!important}.partner-metric{min-height:125px!important}.partner-panel{padding:14px!important}.partner-order{grid-template-columns:38px minmax(0,1fr) auto!important;gap:8px!important}.partner-order>em{grid-column:2!important}.partner-order>.btn{grid-column:2/4!important}.stock-row,.team-row,.ticket-row,.admin-row,.audit-row{align-items:flex-start!important}.partner-product-form{max-height:calc(100dvh - 30px);overflow:auto;padding:19px!important}.partner-product-form>div{display:grid!important;grid-template-columns:1fr!important}.partner-product-form .btn{width:100%}
}

@media(max-width:430px){
  .toasts{top:72px!important;left:10px!important;right:10px!important;gap:7px!important}.toast{font-size:.82rem!important;border-radius:14px!important}
  body.app-mode .main{padding-inline:12px!important}.home-intro{padding-top:5px}.home-intro h1{line-height:1.15!important}.intro-location{display:flex;align-items:flex-start;gap:7px;line-height:1.4}
  .profile-head-main{display:grid!important;grid-template-columns:78px minmax(0,1fr)!important;gap:13px!important}.profile-avatar{width:76px!important;height:76px!important}.profile-badges{display:flex!important;flex-wrap:wrap!important;gap:6px!important}.profile-badges>*{max-width:100%}
  .account-page-heading h1,.profile-detail-head h1{font-size:1.8rem!important}.account-page-heading p,.profile-detail-head p{font-size:.88rem;line-height:1.5}.profile-detail-head{align-items:flex-start!important}.profile-detail-icon{width:52px!important;height:52px!important;border-radius:16px!important}
  .checkout-head h1,.checkout-title{font-size:1.75rem!important}.checkout-nav{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}.checkout-nav .btn{width:100%!important}.steps{width:100%!important}.step span{overflow-wrap:normal;white-space:nowrap!important}
  .partner-order{grid-template-columns:36px minmax(0,1fr)!important}.partner-order>strong,.partner-order>em,.partner-order>.btn{grid-column:2!important}.partner-order>strong{grid-row:auto!important;text-align:left}.partner-metrics{gap:10px!important}.partner-metric{padding:14px!important}
  .auth-card,.signup-card{border-radius:18px!important}.auth-panel{padding-inline:13px!important}.field-row,.form-row{grid-template-columns:1fr!important}
}

@media(max-width:390px){
  body.app-mode .header-inner{padding-inline:10px!important}.logo>span:last-child{font-size:.82rem}.header-actions .avatar-btn{width:40px!important;height:40px!important}.search-trigger{width:40px!important;min-width:40px!important;height:40px!important}.bottomnav a{font-size:.57rem!important}
  .consumer-section-head p{max-width:250px}.consumer-section-head>a{font-size:0!important}.consumer-section-head>a svg{width:20px!important;height:20px!important}.modern-category{min-width:78px!important}.rcard{width:86vw!important}.pcard{width:76vw!important}.select-card{padding:12px!important}.sc-emoji{width:44px!important;height:44px!important}.sc-title{font-size:.85rem!important}.sc-sub{font-size:.7rem!important}.step span{font-size:.55rem!important}.footer-main{grid-template-columns:1fr!important}.footer-about{grid-column:auto}.food-mosaic{grid-template-columns:1fr!important}.food-mosaic article.large{grid-row:span 1!important}
}

@media(orientation:landscape) and (max-height:500px){.drawer-bottom{max-height:96dvh!important}.bottomnav{height:58px!important}.bottomnav a{min-height:48px!important}.bottomnav a svg{width:19px!important;height:19px!important}.cartbar{bottom:66px!important}.partner-sidebar nav{max-height:60px}}

/* Official Food Court visual identity */
.brand-logo-image{display:block;width:auto;height:50px;max-width:100%;object-fit:contain;object-position:left center}.header .logo{width:158px;height:52px;overflow:visible}.header .logo .brand-logo-image{width:100%;height:auto}.fcv2-logo{width:205px;height:70px}.fcv2-logo .brand-logo-image{width:100%;height:auto}.auth-logo,.signup-logo{width:205px!important;min-height:68px;padding:7px 11px;border-radius:15px;background:rgba(255,255,255,.94);box-shadow:0 10px 30px rgba(0,0,0,.12)}.auth-logo .brand-logo-image,.signup-logo .brand-logo-image{width:100%;height:auto}.mobile-brand{width:172px}.mobile-brand .brand-logo-image{width:100%;height:auto}.footer-brand-logo{display:flex;width:190px;padding:8px 11px;border-radius:14px;background:rgba(255,255,255,.96)}.footer-brand-logo .brand-logo-image{width:100%;height:auto}
.phone-screen>b,.delivery-pack>b{display:block;width:145px;height:58px;font-size:0!important;background:url('/assets/images/foodcourt-logo.png') left center/contain no-repeat}.delivery-pack>b{width:140px;height:62px}.card-visual>span:first-child{display:block;width:118px;height:42px;font-size:0;background:url('/assets/images/foodcourt-logo.png') left center/contain no-repeat}
@media(max-width:899px){body.app-mode .logo{flex:none;width:128px;height:46px}body.app-mode .logo .brand-logo-image{width:100%;height:auto}}
@media(max-width:768px){.fcv2-logo{width:150px!important;height:58px!important}.fcv2-logo .brand-logo-image{width:100%!important;height:auto!important}.auth-logo,.signup-logo{width:176px!important;min-height:58px}.mobile-brand{width:158px}}
@media(max-width:390px){body.app-mode .logo{width:116px;height:42px}.fcv2-logo{width:132px!important}}
