.u-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
/* Restaurant page final mobile layout fixes. utilities.css is loaded last. */
.mobile-home,.search-cat,.menu-area,.promos-section{opacity:1!important;animation:none!important}
.mob-rest-details{overflow:visible!important;min-width:0!important;max-width:calc(100% - 70px)!important}
.mob-rest-row2{display:grid!important;grid-template-columns:max-content max-content 68px!important;align-items:center!important;padding-right:0!important;width:100%!important}
.mob-verMais{position:static!important;margin-left:auto!important;white-space:nowrap!important;justify-content:flex-end!important;display:inline-flex!important}
.prod-card{display:grid!important;grid-template-columns:minmax(0,1fr) 84px!important;align-items:center!important;width:100%!important;overflow:hidden!important;padding:14px!important;min-height:118px!important;column-gap:10px!important}
.prod-info{min-width:0!important;width:auto!important}
.prod-img-box{width:84px!important;height:84px!important;flex:0 0 84px!important}
.products-grid{padding-right:28px!important}
.prod-add-btn{right:0!important;bottom:0!important;width:30px!important;height:30px!important}

/* Store info modal and login screen based on the mobile references. */
#infoModal{background:#f7f7f7!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;align-items:stretch!important}
#infoModal .modal--store-info{width:100%!important;max-width:430px!important;height:100dvh!important;max-height:100dvh!important;margin:0 auto!important;border:0!important;border-radius:0!important;background:#f7f7f7!important;transform:translateY(0)!important;display:flex!important;flex-direction:column!important}
.store-info-header{height:84px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding:16px 16px 12px;background:#fff;border-bottom:1px solid #e9e9e9;flex-shrink:0}
.store-info-header h2{font-size:1rem;font-weight:800;color:#1f2933;text-align:center}
.store-info-close{width:36px;height:36px;border:0;border-radius:12px;background:#f0f0f0;color:#999;font-size:1.3rem;font-weight:700;line-height:1;cursor:pointer}
.store-info-body{flex:1;overflow:auto;padding:20px 16px 26px;background:#f7f7f7}
.store-info-card{background:#fff;border-radius:9px;padding:30px 18px 26px;text-align:center;box-shadow:0 1px 0 rgba(0,0,0,.02)}
.store-info-logo{width:120px;height:120px;border-radius:50%;overflow:hidden;margin:0 auto 18px;background:#fff3ea;display:flex;align-items:center;justify-content:center}
.store-info-logo img{width:100%;height:100%;object-fit:cover}
.store-info-logo .mob-logo-fallback{width:100%;height:100%;border-radius:50%;background:var(--brand);color:#fff;font-size:1.7rem}
.store-info-name{font-size:1rem;font-weight:800;color:#5a5a5a;margin-bottom:6px}
.store-info-neighborhood{font-size:.9rem;color:#9a9a9a;margin-bottom:22px}
.store-contact-list{display:grid;gap:16px;justify-items:center}
.store-contact-row{display:inline-flex;align-items:center;justify-content:center;gap:10px;color:#8c8c8c;font-size:.78rem;font-weight:750;text-decoration:none;max-width:100%}
.store-contact-row svg{width:18px;height:18px;flex-shrink:0;color:#8f8f8f}
.store-contact-row span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.store-contact-row--wa,.store-contact-row--wa svg{color:#3f7d4f}
.store-info-tabs{display:flex;gap:24px;overflow-x:auto;margin:20px -16px 0;padding:0 16px;border-bottom:1px solid #e2e2e2;scrollbar-width:none}
.store-info-tabs::-webkit-scrollbar{display:none}
.store-info-tabs button{height:34px;border:0;border-bottom:3px solid transparent;background:transparent;color:#aaa;font-size:.75rem;font-weight:800;white-space:nowrap}
.store-info-tabs button.active{color:#3f7d4f;border-bottom-color:#3f7d4f}
.store-hours-card,.store-address-card{margin-top:22px;background:#fff;border-radius:9px;padding:20px;box-shadow:0 12px 30px rgba(0,0,0,.03)}
.store-hours-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;color:#9a9a9a;font-size:.78rem;font-weight:650}
.store-hours-row.active span{position:relative;color:#8b8b8b;font-weight:800;padding-left:16px}
.store-hours-row.active span::before{content:'';position:absolute;left:0;top:50%;width:8px;height:8px;border-radius:50%;background:#3f7d4f;transform:translateY(-50%)}
.store-hours-row strong{font-size:.78rem;color:#8a8a8a;font-weight:800}
.store-address-card h3{font-size:.9rem;color:#333;margin-bottom:10px}
.store-address-card p{font-size:.8rem;color:#8a8a8a;line-height:1.55;margin-bottom:12px}

#loginModal{background:#f2f2f2!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;align-items:stretch!important}
#loginModal .modal--login{position:relative!important;width:calc(100% - 16px)!important;max-width:430px!important;height:calc(100dvh - 20px)!important;max-height:calc(100dvh - 20px)!important;margin:10px auto!important;border:0!important;border-radius:12px!important;background:#fff!important;transform:translateY(0)!important;padding:84px 28px 28px!important;display:flex!important;flex-direction:column!important;align-items:center!important}
.modal--login .login-close{position:absolute!important;top:22px!important;right:20px!important;width:40px!important;height:40px!important;border-radius:10px!important;background:#f3f3f3!important;color:#999!important;border:0!important;font-size:1.35rem!important;font-weight:700!important}
.modal--login .login-logo{width:150px!important;height:150px!important;border-radius:50%!important;border:0!important;overflow:hidden!important;margin:0 auto 28px!important;background:#fff3ea!important}
.modal--login .login-logo img{width:100%!important;height:100%!important;object-fit:cover!important}
.modal--login .login-logo .mob-logo-fallback{width:100%;height:100%;border-radius:50%;background:var(--brand);color:#fff;font-size:1.9rem}
.modal--login .login-rest-name{font-size:1.7rem!important;line-height:1.15!important;font-weight:900!important;color:#050505!important;text-align:center!important;margin:0 0 68px!important}
.modal--login p{display:none!important}
.modal--login .cart-cta-btn{height:40px!important;border-radius:8px!important;background:#3f7d4f!important;font-size:.78rem!important;font-weight:900!important;box-shadow:none!important;margin:0 0 10px!important}
.modal--login .login-secondary{width:100%!important;height:40px!important;border:0!important;border-radius:8px!important;background:#e3ece6!important;color:#3f7d4f!important;font-size:.78rem!important;font-weight:900!important}
.modal--login .login-privacy{margin-top:auto!important;color:#7a7a7a!important;font-size:.78rem!important;text-decoration:none!important}

/* Typography imported from the provided reference assets. */
@font-face{
  font-family:"ReferenceInter";
  src:url("../references/imagens_referencia/assets_reference/dd8a4575be980610_UcCo3FwrK3iLTcviYwYZ8UA3.woff2") format("woff2");
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}
:root{
  --ref-font:"ReferenceInter","Inter",Arial,sans-serif;
  --ref-text-xs:10px;
  --ref-text-sm:12px;
  --ref-text-md:14px;
  --ref-text-lg:16px;
  --ref-text-xl:18px;
  --ref-line-sm:15px;
  --ref-line-md:18px;
  --ref-line-lg:22px;
  --ref-line-xl:25px;
}
body,button,input,textarea,select{font-family:var(--ref-font)!important}
.address-strip .address-card-copy strong{font-size:12px!important;line-height:18px!important;font-weight:500!important}
.restaurant-hero-fallback span{font-size:12px!important;line-height:15px!important;font-weight:800!important}
.restaurant-hero-fallback strong{font-size:24px!important;line-height:29px!important;font-weight:800!important}
.mob-rest-name{font-size:18px!important;line-height:25px!important;font-weight:600!important}
.mob-rest-sub{font-size:14px!important;line-height:18px!important;font-weight:500!important}
.mob-badge-open,.mob-close-time,.mob-rest-row3 span,.mob-verMais{font-size:12px!important;line-height:18px!important}
.search-bar input{font-size:14px!important;line-height:22px!important;font-weight:400!important}
.cat{font-size:12px!important;line-height:15px!important;font-weight:600!important}
.menu-section-title{font-size:18px!important;line-height:25px!important;font-weight:700!important}
.prod-name{font-size:14px!important;line-height:18px!important;font-weight:600!important}
.prod-desc{font-size:12px!important;line-height:19px!important;font-weight:400!important}
.prod-price{font-size:14px!important;line-height:18px!important;font-weight:700!important}
.prod-add-btn{font-size:20px!important;line-height:20px!important;font-weight:600!important}
.mob-nav-item span{font-size:12px!important;line-height:15px!important;font-weight:600!important}
.mob-nav-icon{width:24px!important;height:24px!important;stroke-width:1.8!important}
.btn-cart,.cart-cta-btn,.login-secondary{font-size:14px!important;line-height:18px!important;font-weight:700!important}
.cart-hdr-title,.modal-title,.store-info-header h2{font-size:16px!important;line-height:22px!important;font-weight:600!important}
.store-info-name{font-size:14px!important;line-height:18px!important;font-weight:600!important}
.store-info-neighborhood{font-size:14px!important;line-height:18px!important;font-weight:500!important}
.store-contact-row,.store-info-tabs button,.store-hours-row,.store-hours-row strong,.store-address-card p{font-size:12px!important;line-height:18px!important}
.store-address-card h3{font-size:14px!important;line-height:18px!important;font-weight:700!important}
.modal--login .login-rest-name{font-size:26px!important;line-height:33px!important;font-weight:800!important}
.modal--login .cart-cta-btn,.modal--login .login-secondary,.modal--login .login-privacy{font-size:12px!important;line-height:18px!important}
.prof-hero-label,.prof-option-title,.cart-rest-name,.cir-name,.pm-name{font-size:14px!important;line-height:18px!important;font-weight:600!important}
.prof-hero-sub,.prof-option-desc,.cir-obs,.pm-desc,.cps-row,.cart-empty-text{font-size:12px!important;line-height:18px!important}
.pm-price,.cps-total,.cs-total{font-size:16px!important;line-height:22px!important;font-weight:700!important}
