:root{
 --impra-green:#0b8f43;--impra-green-2:#16a34a;--impra-orange:#ff8a00;--impra-dark:#050807;--impra-panel:#0b100e;--impra-line:#1d2822;--impra-muted:#7b8780;--impra-soft:#f5f7f5;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{background:var(--impra-dark)}
body{background:linear-gradient(180deg,#050807 0%,#09100c 45%,#f3f6f3 45%,#f3f6f3 100%)!important;color:#172019!important;min-height:100vh}
body:before{content:"";display:block;height:3px;background:linear-gradient(90deg,var(--impra-orange),var(--impra-green));position:fixed;top:0;left:0;right:0;z-index:9999}
/* compact brand shell */
.app-header,.cart-header,.product-header,.header{background:#070b09!important;color:#fff!important;border-bottom:1px solid var(--impra-line)!important;box-shadow:0 8px 25px rgba(0,0,0,.28)!important}
.app-header>*:first-child,.cart-header>*:first-child,.product-header>*:first-child{position:relative;z-index:2}
.address-bar{color:#fff!important}
.search-bar input,.search-box input{background:#111815!important;border:1px solid #223028!important;color:#fff!important}
.search-bar i,.search-box i{color:var(--impra-green-2)!important}
.categories-scroll{background:#070b09!important;border-bottom:1px solid var(--impra-line)!important}
.cat-icon-box{background:#102119!important;color:var(--impra-green-2)!important;border:1px solid #1c3b2a}
.cat-name{color:#dce5df!important}
.banner-card{background:linear-gradient(135deg,#0b8f43,#075b2b)!important;box-shadow:0 12px 30px rgba(0,0,0,.28)!important;border:1px solid #15954b}
.section-title{color:#fff!important}
.restaurant-list{background:#f3f6f3;padding-top:16px}
.rest-card{border:1px solid #e3e8e4!important;box-shadow:0 5px 18px rgba(11,25,16,.07)!important}
.rest-status.open{color:var(--impra-green)!important}.rating{color:var(--impra-orange)!important}
.bottom-nav{background:#070b09!important;border-top:1px solid #1b2921!important}.nav-item{color:#7f8c84!important}.nav-item.active{color:#31c56d!important}.cart-badge{background:var(--impra-orange)!important;color:#111!important}
/* store/menu */
.cover-area{border-bottom:1px solid #1d2822!important;background:#080c0a!important}
.cover-area:after{content:"";position:absolute;top:18px;left:50%;transform:translateX(-50%);color:#fff;font-weight:900;letter-spacing:1.4px;font-size:12px}
.rest-info{background:#f3f6f3!important;color:#172019!important}
.logo-box{border-color:#fff!important;box-shadow:0 7px 22px rgba(0,0,0,.22)!important}
.search-container{background:#f3f6f3!important}
.cat-nav{background:#f3f6f3!important;padding-bottom:12px}
.cat-btn{background:#fff!important;border-color:#dde5df!important;color:#526058!important}.cat-btn.active{background:var(--impra-green)!important;border-color:var(--impra-green)!important;color:#fff!important}
.menu-list{background:#f3f6f3;padding-bottom:100px}
.cat-title{color:#18221c!important;border-bottom-color:#dce4df!important}
.prod-card{border:1px solid #e0e7e2!important;box-shadow:0 5px 18px rgba(11,25,16,.07)!important}.prod-name{color:#18221c!important}.prod-desc{color:#6c7871!important}.prod-price{color:var(--impra-green)!important}
.btn-plus-icon{background:var(--impra-green)!important;border-color:#fff!important}
.cart-bar{background:linear-gradient(90deg,#087b38,#0d9d49)!important;box-shadow:0 12px 28px rgba(0,0,0,.28)!important}.cart-badge-count{color:var(--impra-green)!important}
/* product */
.product-container{background:#f3f6f3!important}.flavor-image{box-shadow:0 8px 24px rgba(0,0,0,.12)!important;border:1px solid #e1e8e3}
.flavor-info h2{color:#18221c!important}.flavor-info p{color:#6b7770!important}.main-qty-box,.selection-section{border:1px solid #e0e7e2!important;box-shadow:0 5px 18px rgba(11,25,16,.06)!important}.flavor-price,.option-price,.addon-btn{color:var(--impra-green)!important}.main-controls{border-color:var(--impra-green)!important;background:#edf9f1!important}.observations-input{background:#fff!important}.add-to-cart-section{background:#070b09!important;border-top:1px solid #1c2922!important}.add-to-cart-button{background:linear-gradient(90deg,#087b38,#0d9d49)!important;box-shadow:0 8px 20px rgba(0,0,0,.25)!important}
/* cart */
.cart-list{background:#f3f6f3!important}.cart-card{border:1px solid #e0e7e2!important;box-shadow:0 5px 18px rgba(11,25,16,.06)!important}.item-name{color:#18221c!important}.item-price{color:var(--impra-green)!important}.btn-remove{color:#d64747!important}.cart-footer{background:#070b09!important;color:#fff!important;border-radius:18px 18px 0 0!important;border-top:1px solid #1d2b23!important;box-shadow:0 -10px 30px rgba(0,0,0,.3)!important}.cart-footer .summary-row{color:#aebbb2!important}.cart-footer .total-row{color:#fff!important;border-color:#2a382f!important}.btn-checkout{background:linear-gradient(90deg,#087b38,#0d9d49)!important}
.empty-state{color:#6c7871!important}.empty-icon{color:#cad4ce!important}
/* checkout */
.container{background:#f3f6f3!important}.card-box{border:1px solid #e0e7e2!important;box-shadow:0 5px 18px rgba(11,25,16,.06)!important}.form-control{border-color:#dbe4de!important;background:#fff!important}.opt-group{background:#e7ede9!important}.opt-btn.active{color:var(--impra-green)!important;border-color:var(--impra-green)!important}.btn-confirm{background:linear-gradient(90deg,#087b38,#0d9d49)!important}.fifty-percent-box{background:#fff8e8!important}
/* shared mobile desktop behavior */
@media(min-width:700px){body{background:linear-gradient(135deg,#050807 0%,#0a100d 42%,#f1f4f1 42%,#f1f4f1 100%)!important}.app-header,.cart-header,.product-header,.header{max-width:720px;margin:0 auto;border-radius:0 0 16px 16px}.product-container,.cart-list,.container{max-width:720px}.menu-list{max-width:720px;margin:auto;border-radius:18px 18px 0 0}.restaurant-list{max-width:720px;margin:auto}.bottom-nav{max-width:720px;left:50%;transform:translateX(-50%);border-radius:18px 18px 0 0}}
@media(max-width:480px){.app-header{padding-top:18px!important}.categories-scroll{padding-top:15px!important}.banner-container{margin-top:12px}.prod-img-container{width:100px;height:100px}.cart-footer{padding:16px!important}.card-box{padding:16px!important}}
/* === CLIENTE IMPRA — MESMA IDENTIDADE DO PAINEL === */
:root{--primary:#ff8a00;--btn-color:#159447;--green:#159447;--impra-green:#159447}
body{font-family:Inter,system-ui,sans-serif!important}
.app-header,.cart-header,.product-header,.header{position:sticky!important;top:0;z-index:100!important;background:linear-gradient(180deg,#050907,#09100c)!important}
.app-header{padding:12px 15px 14px!important}.app-header .address-bar{font-size:11px!important;margin-bottom:10px!important;color:#dbe4df!important}.app-header .address-bar i:first-child{color:#ff8a00!important}
.search-bar input,.search-box input{height:40px!important;border-radius:9px!important;font-size:12px!important;background:#101713!important}
.categories-scroll{gap:9px!important;padding:13px 15px!important}.cat-item{min-width:58px!important}.cat-icon-box{width:48px!important;height:48px!important;border-radius:12px!important;font-size:17px!important}.cat-name{font-size:9px!important}
.banner-container{margin:10px 15px 17px!important;padding:0!important}.banner-card{min-height:82px!important;border-radius:10px!important;background:linear-gradient(135deg,#0b7e38,#16a14a)!important;padding:15px!important}.banner-card h3{font-size:16px!important}.banner-card p{font-size:10px!important}.banner-card i{font-size:31px!important}
.section-title{font-size:13px!important;padding:0 15px!important;margin-bottom:9px!important}.restaurant-list{padding:0 15px 90px!important}.rest-card{border-radius:10px!important;padding:10px!important;margin-bottom:9px!important;min-height:82px!important}.rest-img{width:54px!important;height:54px!important;border-radius:12px!important}.rest-name{font-size:12px!important}.rest-meta{font-size:9px!important;gap:7px!important}.rest-status{font-size:9px!important}.rating{color:#ff8a00!important}
.bottom-nav{height:61px!important;padding:7px 0!important}.nav-item{font-size:8px!important;gap:3px!important}.nav-item i{font-size:15px!important}.cart-badge{background:#ff8a00!important;color:#07100c!important}
.cover-area{height:205px!important}.rest-info{padding-top:42px!important}.rest-info h1,.rest-info h2{font-size:18px!important}.hours-display{font-size:9px!important}.cat-nav{position:sticky!important;top:59px!important;z-index:80!important;box-shadow:0 3px 12px rgba(0,0,0,.05)}.cat-btn{font-size:9px!important;padding:7px 10px!important;border-radius:8px!important}.menu-list{padding-bottom:85px!important}.cat-title{font-size:13px!important;padding:12px 15px 7px!important}.prod-card{min-height:105px!important;padding:10px!important;border-radius:10px!important;margin:8px 12px!important}.prod-name{font-size:12px!important}.prod-desc{font-size:9px!important;line-height:1.4!important}.prod-price{font-size:12px!important}.prod-img-container{width:88px!important;height:88px!important}.btn-plus-icon{width:28px!important;height:28px!important;font-size:11px!important}
.product-container,.cart-list,.container{min-height:calc(100vh - 58px)}.flavor-image{border-radius:12px!important}.flavor-info h2{font-size:20px!important}.selection-section,.main-qty-box,.card-box{border-radius:10px!important}.selection-section h3,.section-header{font-size:12px!important}.option-item,.addon-item{font-size:11px!important}.add-to-cart-section{padding:12px!important}.add-to-cart-button,.btn-checkout,.btn-confirm{border-radius:9px!important;font-size:12px!important;font-weight:900!important}
.cart-header .page-title,.header{font-size:13px!important}.cart-list{padding:12px!important}.cart-card{border-radius:10px!important;padding:12px!important;margin-bottom:8px!important}.item-name{font-size:12px!important}.item-price{font-size:12px!important}.cart-footer{padding:13px!important}.cart-footer .summary-row{font-size:10px!important}.cart-footer .total-row{font-size:13px!important}.btn-checkout{padding:12px!important}
.container{padding:12px!important}.card-box{padding:13px!important;margin-bottom:10px!important}.form-control{font-size:11px!important;border-radius:8px!important;padding:10px!important}.opt-group{border-radius:8px!important}.opt-btn{font-size:10px!important;padding:9px!important}.btn-confirm{padding:12px!important}
@media(min-width:700px){body{background:radial-gradient(circle at 20% 0%,rgba(255,138,0,.09),transparent 24%),linear-gradient(135deg,#050807 0%,#0a100d 38%,#f3f6f3 38%,#f3f6f3 100%)!important}.app-header,.cart-header,.product-header,.header,.product-container,.cart-list,.container,.restaurant-list,.menu-list{max-width:760px!important}.bottom-nav{max-width:760px!important}.rest-card{margin-bottom:8px!important}}

.waze-store-link{display:inline-flex;align-items:center;gap:7px;margin-top:8px;padding:8px 12px;border-radius:9px;background:#eaf8ef;color:#13783a;text-decoration:none;font-weight:800;font-size:12px}.waze-store-link i{font-size:15px}

/* =========================================================
   IMPRA CUSTOMER — MOBILE FINAL
   ========================================================= */
html,body{width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;}
img{max-width:100%;}
input,select,textarea,button{max-width:100%;font:inherit;}
@media(max-width:699px){
  body{min-width:0!important;width:100%!important;overflow-x:hidden!important;}
  .app-header,.cart-header,.product-header,.header{width:100%!important;max-width:100%!important;box-sizing:border-box!important;}
  .app-header{padding:12px 12px calc(12px + env(safe-area-inset-top))!important;}
  .address-bar{min-width:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .search-bar,.search-box{width:100%!important;max-width:100%!important;}
  .search-bar input,.search-box input{width:100%!important;min-width:0!important;box-sizing:border-box!important;font-size:16px!important;}
  .categories-scroll{width:100%!important;box-sizing:border-box!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;}
  .banner-container{width:100%!important;box-sizing:border-box!important;}
  .banner-card{width:100%!important;box-sizing:border-box!important;}
  .restaurant-list{width:100%!important;box-sizing:border-box!important;}
  .rest-card{width:100%!important;min-width:0!important;box-sizing:border-box!important;}
  .rest-info{min-width:0!important;}
  .rest-name,.rest-meta{overflow-wrap:anywhere!important;}
  .rest-meta{flex-wrap:wrap!important;}
  .bottom-nav{padding-bottom:calc(7px + env(safe-area-inset-bottom))!important;}

  .cover-area{width:100%!important;max-width:100%!important;box-sizing:border-box!important;}
  .rest-info{width:100%!important;box-sizing:border-box!important;}
  .cat-nav{width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow-x:auto!important;}
  .menu-list{width:100%!important;max-width:100%!important;box-sizing:border-box!important;}
  .prod-card{width:calc(100% - 24px)!important;max-width:calc(100% - 24px)!important;min-width:0!important;box-sizing:border-box!important;}
  .prod-info{min-width:0!important;}
  .prod-name,.prod-desc{overflow-wrap:anywhere!important;}
  .product-container,.cart-list,.container{width:100%!important;max-width:100%!important;box-sizing:border-box!important;}
  .flavor-image{width:100%!important;max-width:100%!important;box-sizing:border-box!important;}
  .flavor-info,.selection-section,.main-qty-box,.card-box{min-width:0!important;box-sizing:border-box!important;}
  .selection-section,.main-qty-box,.card-box{width:100%!important;max-width:100%!important;}
  .option-item,.addon-item{min-width:0!important;}
  .option-name,.item-name{overflow-wrap:anywhere!important;}
  .add-to-cart-section{width:100%!important;box-sizing:border-box!important;}
  .add-to-cart-button,.btn-checkout,.btn-confirm{width:100%!important;max-width:100%!important;box-sizing:border-box!important;}
  .cart-card{width:100%!important;max-width:100%!important;box-sizing:border-box!important;}
  .cart-footer{width:100%!important;box-sizing:border-box!important;}
  .summary-row,.info-row{gap:8px!important;}
  .summary-row>*:last-child,.info-val{min-width:0!important;text-align:right;overflow-wrap:anywhere!important;}
  .payment-method-grid{grid-template-columns:1fr!important;}
}
@media(max-width:380px){
  .prod-card{display:flex!important;}
  .prod-img-container{width:78px!important;height:78px!important;flex:0 0 78px!important;}
  .prod-info{padding-right:5px!important;}
  .prod-name{font-size:11px!important;}
  .prod-desc{font-size:8px!important;}
}

/* Encaixe robusto de imagens de produto (qualquer proporção enviada pelo lojista) */
.prod-img-container{
  overflow:hidden!important;
  border-radius:12px!important;
  background:#f1f5f9!important;
  position:relative!important;
}
.prod-img-container .prod-img,
.prod-img-container img.prod-img,
img.prod-img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  border-radius:inherit!important;
  background:#f1f5f9!important;
}
.logo-box,
.logo-box img{
  overflow:hidden;
}
.logo-box img{
  object-fit:cover!important;
  object-position:center!important;
}
