/**
 * 22/07/2026 20:32 - Overrides mínimos: layout/CSS vêm do Menuy linkado @filipemontt
 * 26/07/2026 16:10 - Estrelas avaliação + botão Recebi no card destaque @filipemontt
 * 28/07/2026 17:40 - PIX row QR + textarea copia e cola @filipemontt
 * 28/07/2026 18:05 - Splash brand pulse (logo circular + fundo tema) @filipemontt
 */

.hide { display: none !important; }

/* 28/07/2026 18:05 - Splash brand: logo circular + fundo tema (~0.8s) @filipemontt */
#preloader.new-brand-splash {
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 100000;
  transition: opacity 0.28s ease, visibility 0.28s ease;
}
.theme-light #preloader.new-brand-splash.bg-theme,
.theme-dark #preloader.new-brand-splash.bg-theme {
  background-color: inherit;
}
.theme-light #preloader.new-brand-splash {
  background-color: #fff;
}
.theme-dark #preloader.new-brand-splash {
  background-color: #0f1117;
}
/* Preferir a mesma superfície do tema Menuy (.bg-theme) */
body.theme-light #preloader.new-brand-splash.bg-theme {
  background-color: #ffffff;
}
body.theme-dark #preloader.new-brand-splash.bg-theme {
  background-color: #0f1117;
}
.new-brand-splash-inner {
  position: relative;
  width: 128px;
  height: 128px;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* 28/07/2026 18:12 - Spinner atrás da logo (wrap sem transform pra não quebrar o spin) @filipemontt */
#preloader.new-brand-splash .new-brand-splash-spin-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2rem;
  height: 2rem;
  margin: -1rem 0 0 -1rem;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
#preloader.new-brand-splash .new-brand-splash-spin {
  position: static;
  top: auto;
  left: auto;
  margin: 0;
  width: 2rem;
  height: 2rem;
  border-width: 0.2em;
  opacity: 0.85;
}
.new-brand-splash-logo {
  width: 112px;
  height: 112px;
  border-radius: 50%;
  object-fit: cover;
  position: relative;
  z-index: 3;
  border: 4px solid rgba(255, 255, 255, 0.92);
  box-shadow: 0 8px 28px rgba(15, 23, 42, 0.18);
  opacity: 0;
  transform: scale(0.86);
  animation: newBrandSplashIn 0.45s cubic-bezier(0.22, 1, 0.36, 1) 0.05s forwards;
}
.theme-dark .new-brand-splash-logo {
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45);
}
.new-brand-splash-pulse {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid color-mix(in srgb, var(--brand, #16a34a) 55%, transparent);
  opacity: 0;
  transform: scale(0.72);
  animation: newBrandSplashPulse 0.7s ease-out 0.2s forwards;
  pointer-events: none;
  z-index: 2;
}
@keyframes newBrandSplashIn {
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes newBrandSplashPulse {
  0% {
    opacity: 0;
    transform: scale(0.72);
  }
  35% {
    opacity: 0.55;
  }
  100% {
    opacity: 0;
    transform: scale(1.28);
  }
}
#preloader.new-brand-splash.preloader-hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.menuyProduto { cursor: pointer; content-visibility: auto; contain-intrinsic-size: 110px; }

/* page-title some no scroll (opacity via JS, igual Menuy) */
.page-title {
  transition: opacity .25s ease;
}

/* PDP sheet: hero 300px + scroll do #cardRight (evita corte no topo) */
#cardRight.menuy-instant-sheet {
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
#cardRight #hbg {
  height: 300px !important;
  min-height: 300px !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  position: relative;
  flex-shrink: 0;
}
#cardRight .menuy-instant-body {
  position: relative;
  z-index: 1;
  margin-top: -80px !important;
  margin-bottom: 0 !important;
  padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
}
#cardRight #page_ajax_content {
  overflow: visible;
}

/* 22/07/2026 20:50 - Botão fechar PDP (~40px mais alto que mt-5) @filipemontt */
#cardRight .new-pdp-close {
  position: absolute;
  top: calc(8px + env(safe-area-inset-top, 0px));
  right: 12px;
  z-index: 30;
  float: none;
  margin: 0;
  pointer-events: auto;
}

/* 22/07/2026 20:51 - Respiro lateral no botão Adicionar do PDP @filipemontt */
#cardRight .menuy-pdp-addcart {
  padding-left: 14px !important;
  padding-right: 14px !important;
  box-sizing: border-box;
}

/* 22/07/2026 20:56 - Total das escolhas + botão Adicionar lado a lado @filipemontt */
#cardRight .menuy-pdp-addcart .btn-full,
#cardRight .menuy-pdp-form .menuy-pdp-addcart .btn {
  width: auto;
}
/* 23/07/2026 22:09 - Respiro lateral no campo de obs do PDP @filipemontt */
#cardRight .menuy-pdp-form .menuy-pdp-obs-wrap {
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
}
#cardRight .new-pdp-add-row {
  display: flex;
  align-items: stretch;
  gap: 0.55rem;
  width: 100%;
}
#cardRight .new-pdp-add-total {
  flex: 0 0 38%;
  max-width: 9.5rem;
  min-width: 6.5rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 0.55rem 0.75rem;
  border-radius: 0.45rem;
  border: 1.5px solid color-mix(in srgb, var(--brand, #16a34a) 40%, transparent);
  background: color-mix(in srgb, var(--brand, #16a34a) 10%, transparent);
  box-sizing: border-box;
}
.theme-dark #cardRight .new-pdp-add-total {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14);
}
#cardRight .new-pdp-add-total-label {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  opacity: 0.55;
  line-height: 1.1;
}
#cardRight .new-pdp-add-total-value {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--brand, #16a34a);
  white-space: nowrap;
}
/* 22/07/2026 20:57 - Auth sheet (login/cadastro) no padrão Menuy @filipemontt */
.new-auth-head h2 { line-height: 1.15; }
.new-auth .input-style {
  margin-bottom: 0.85rem;
}
.new-auth .form-control {
  font-size: 1.05rem !important;
  font-weight: 700;
  padding-top: 1.1rem !important;
  padding-bottom: 0.85rem !important;
}
/* 24/07/2026 13:34 - Placeholder no mesmo tamanho do texto do campo (Menuy força 12px) @filipemontt */
.new-auth .form-control::placeholder {
  font-size: 1.05rem !important;
  font-weight: 700;
  opacity: 0.45;
}
.new-auth .form-control::-webkit-input-placeholder {
  font-size: 1.05rem !important;
  font-weight: 700;
  opacity: 0.45;
}
.new-auth .form-control::-moz-placeholder {
  font-size: 1.05rem !important;
  font-weight: 700;
  opacity: 0.45;
}
/* 22/07/2026 21:13 - Botões Entrar/Criar conta 100% largura @filipemontt */
.new-auth #btn-login,
.new-auth #btn-reg,
.new-auth #btn-goto-reg,
.new-auth #btn-goto-login,
.new-auth .btn.btn-full {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.new-auth-banner {
  padding: 0.75rem 0.9rem;
  border-radius: 0.65rem;
  font-size: 0.86rem;
  line-height: 1.35;
  background: color-mix(in srgb, var(--brand, #16a34a) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--brand, #16a34a) 35%, transparent);
  color: inherit;
}
.new-auth-banner.is-warn {
  background: rgba(220, 38, 38, 0.08);
  border-color: rgba(220, 38, 38, 0.28);
}
.new-auth-banner.is-info {
  background: color-mix(in srgb, var(--brand, #16a34a) 12%, transparent);
}
.theme-dark .new-auth-banner {
  background: rgba(255, 255, 255, 0.06);
}

/* 22/07/2026 21:15 - Padding no texto do MenuyAlert (item adicionado) @filipemontt */
#menuy-alert-modal .menuy-alert-text {
  padding: 30px !important;
  box-sizing: border-box;
}

/* 22/07/2026 21:16 - Badge do carrinho +5px à direita @filipemontt */
#footer-bar .menuy-nav-carrinho #cart-badge,
#footer-bar #cart-badge.badge {
  margin-left: 18px !important;
  left: auto;
  color: #fff !important;
}

/* 22/07/2026 21:09 - Sacola / carrinho no padrão Menuy @filipemontt */
.new-cart-head h2 { line-height: 1.15; }
.new-cart-thumb { display: block; background: rgba(148, 163, 184, 0.15); }
.new-cart-line .content { padding-bottom: 0.85rem; }

/* 23/07/2026 22:25 - Detalhes opções/variações: legível no light; valor em strong @filipemontt */
.new-item-detalhe {
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.62);
}
.theme-light .new-item-detalhe {
  color: rgba(30, 35, 45, 0.82);
}
.theme-light .new-item-detalhe strong {
  color: rgba(20, 24, 32, 0.95);
  font-weight: 700;
}
.theme-dark .new-item-detalhe strong {
  color: rgba(255, 255, 255, 0.9);
  font-weight: 700;
}
.new-cart-stepper.stepper {
  display: inline-flex;
  align-items: stretch;
  min-width: 7.5rem;
  border: 1px solid rgba(15, 23, 42, 0.1);
  overflow: hidden;
}
.theme-dark .new-cart-stepper.stepper {
  border-color: rgba(255, 255, 255, 0.12);
}
.new-cart-stepper.stepper a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  text-decoration: none;
}
.new-cart-stepper.stepper input.qty {
  width: 2.5rem;
  border: 0;
  background: transparent;
  text-align: center;
  font-weight: 700;
  font-size: 0.95rem;
  padding: 0.35rem 0;
  -moz-appearance: textfield;
}
.new-cart-stepper.stepper input.qty::-webkit-outer-spin-button,
.new-cart-stepper.stepper input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.new-cart-footer {
  position: sticky;
  bottom: 0;
  margin-top: 0.5rem;
  padding-top: 0.75rem;
  padding-bottom: 0.25rem;
  background: linear-gradient(180deg, transparent, var(--new-cart-footer-bg, #fff) 28%);
  z-index: 2;
}
.theme-dark .new-cart-footer {
  --new-cart-footer-bg: #0f1117;
}
.new-cart-footer .card.card-style {
  border: 1px solid rgba(15, 23, 42, 0.06);
}
.theme-dark .new-cart-footer .card.card-style {
  border-color: rgba(255, 255, 255, 0.08);
}
/* 28/07/2026 17:55 - Dois botões 50/50 na mesma linha (sacola com itens) @filipemontt */
.new-cart-footer .new-cart-actions {
  display: flex;
  gap: 0.5rem;
  width: 100%;
}
.new-cart-footer .new-cart-actions .btn {
  flex: 1 1 0;
  min-width: 0;
  display: block !important;
  width: auto !important;
  max-width: none !important;
  white-space: normal;
  line-height: 1.2;
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}
/* 28/07/2026 18:00 - Adicionar mais itens 60% / Pagar 40% @filipemontt */
.new-cart-footer .new-cart-actions #btn-cart-add-more {
  flex: 6 1 0;
}
.new-cart-footer .new-cart-actions #btn-checkout {
  flex: 4 1 0;
}

/* 22/07/2026 21:27 - Checkout / pedidos / perfil / unidades Menuy @filipemontt */
/* 22/07/2026 21:31 - Checkout usa new-var-opt (padrão PDP); limpa choice antigo @filipemontt */
/* 23/07/2026 20:00 - Pag layout, presente/fidelidade PLUS, cupom height, thumbs @filipemontt */
.new-checkout .new-ck-section {
  margin-bottom: 1.15rem;
}
.new-checkout .new-var-options {
  gap: 0.6rem;
}
.new-checkout .new-ck-opt-body {
  justify-content: flex-start;
}
.new-checkout .new-ck-opt-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
  min-width: 0;
  flex: 1 1 auto;
}
/* 31/07/2026 18:55 - Linha endereço + botão editar no checkout @filipemontt */
.new-checkout .new-ck-end-row .new-var-options,
.new-checkout .new-ck-end-row .new-ck-opt {
  width: 100%;
  margin: 0;
}
.new-checkout .new-ck-edit-end {
  flex: 0 0 auto;
  min-width: 42px;
  align-self: stretch;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.new-checkout .new-ck-default-end {
  flex: 0 0 auto;
  min-width: 42px;
  align-self: stretch;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.new-profile-addresses .new-pf-end-card {
  cursor: default;
  background: var(--bs-body-bg, #fff);
}
.new-profile-addresses .new-pf-end-edit {
  cursor: pointer;
}
.new-checkout .new-var-opt-meta.is-hint {
  color: inherit;
  opacity: 0.45;
  font-weight: 500;
  white-space: normal;
  line-height: 1.25;
}
.new-checkout .new-ck-pag-row {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  min-width: 0;
  flex: 1 1 auto;
  width: 100%;
}
.new-checkout .new-ck-pag-img {
  width: 36px;
  height: 24px;
  object-fit: contain;
  flex: 0 0 36px;
  margin-top: 0.1rem;
}
.new-checkout .new-ck-pag-img--empty {
  display: block;
  background: transparent;
}
.new-checkout .new-ck-pag-name {
  font-size: 0.82rem !important;
  font-weight: 600;
  line-height: 1.25;
}
.new-checkout .new-ck-pag-desc {
  font-size: 0.65rem !important;
  line-height: 1.3;
  white-space: normal !important;
}
/* 23/07/2026 20:05 - Lista de endereço com fonte igual pagamento @filipemontt */
.new-checkout #ck-end-list .new-var-opt-name {
  font-size: 0.82rem !important;
  font-weight: 600;
  line-height: 1.25;
}
.new-checkout #ck-end-list .new-var-opt-meta {
  font-size: 0.65rem !important;
  line-height: 1.3;
  white-space: normal !important;
}

/* 26/07/2026 14:50 - Agenda: carrossel de datas (drag) + chips horário @filipemontt */
.new-checkout .new-ck-agenda-toggle {
  user-select: none;
}
.new-checkout .new-ck-agenda-track {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0.55rem;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 0.15rem 0.1rem 0.55rem;
  margin: 0 0 0.65rem;
  touch-action: pan-x;
  cursor: grab;
}
.new-checkout .new-ck-agenda-track:active {
  cursor: grabbing;
}
.new-checkout .new-ck-agenda-track::-webkit-scrollbar {
  height: 4px;
}
.new-checkout .new-ck-agenda-track::-webkit-scrollbar-thumb {
  background: rgba(15, 23, 42, 0.18);
  border-radius: 99px;
}
.new-checkout .new-ck-agenda-day {
  flex: 0 0 auto;
  width: 4.6rem;
  min-height: 5.4rem;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.12rem;
  padding: 0.65rem 0.4rem;
  border-radius: 0.85rem;
  border: 1.5px solid rgba(15, 23, 42, 0.12);
  background: var(--new-var-bg, #fff);
  color: inherit;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04);
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .15s ease;
  -webkit-tap-highlight-color: transparent;
}
.theme-dark .new-checkout .new-ck-agenda-day {
  border-color: rgba(255, 255, 255, 0.12);
}
.new-checkout .new-ck-agenda-day.is-selected {
  border-color: var(--bs-highlight, #fd3969);
  box-shadow: 0 0 0 1px var(--bs-highlight, #fd3969), 0 6px 16px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
}
.new-checkout .new-ck-agenda-day-week {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.5;
}
.new-checkout .new-ck-agenda-day-num {
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.03em;
}
.new-checkout .new-ck-agenda-day-mon {
  font-size: 0.72rem;
  font-weight: 600;
  opacity: 0.55;
  text-transform: lowercase;
}
.new-checkout .new-ck-agenda-day-sub {
  margin-top: 0.2rem;
  font-size: 0.58rem;
  font-weight: 600;
  opacity: 0.45;
  text-align: center;
  line-height: 1.2;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 0 0.15rem;
}
.new-checkout .new-ck-agenda-day.is-selected .new-ck-agenda-day-week,
.new-checkout .new-ck-agenda-day.is-selected .new-ck-agenda-day-sub {
  opacity: 0.75;
}
.new-checkout .new-ck-agenda-times {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0 0 0.35rem;
}
.new-checkout .new-ck-agenda-time {
  min-width: 4.2rem;
  padding: 0.55rem 0.75rem;
  border-radius: 999px;
  border: 1.5px solid rgba(15, 23, 42, 0.12);
  background: var(--new-var-bg, #fff);
  color: inherit;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1;
  transition: border-color .2s ease, background .2s ease, color .2s ease;
  -webkit-tap-highlight-color: transparent;
}
.theme-dark .new-checkout .new-ck-agenda-time {
  border-color: rgba(255, 255, 255, 0.12);
}
.new-checkout .new-ck-agenda-time.is-selected {
  border-color: var(--bs-highlight, #fd3969);
  background: var(--bs-highlight, #fd3969);
  color: #fff;
}
.new-checkout .new-ck-agenda-hint {
  font-size: 0.72rem;
  font-weight: 600;
  opacity: 0.5;
  margin: 0;
}
.new-checkout .new-ck-agenda-time-free {
  margin: 0 0 0.35rem;
}
/* 26/07/2026 15:00 - Destaque da observação abaixo das datas @filipemontt */
.new-checkout .new-ck-agenda-note {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.75rem 0.85rem;
  border-radius: 0.65rem;
  border: 1px solid rgba(13, 110, 253, 0.22);
  background: rgba(13, 110, 253, 0.08);
  color: inherit;
}
.theme-dark .new-checkout .new-ck-agenda-note {
  border-color: rgba(110, 168, 254, 0.35);
  background: rgba(110, 168, 254, 0.12);
}
.new-checkout .new-ck-agenda-note-icon {
  flex: 0 0 auto;
  margin-top: 0.1rem;
  font-size: 1.05rem;
  color: #0d6efd;
  line-height: 1;
}
.theme-dark .new-checkout .new-ck-agenda-note-icon {
  color: #6ea8fe;
}
.new-checkout .new-ck-agenda-note-text {
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.35;
  opacity: 0.92;
}

.new-checkout .new-ck-item-thumb {
  width: 40px;
  height: 40px;
  object-fit: cover;
  flex: 0 0 40px;
  background: rgba(148, 163, 184, 0.15);
}
.new-checkout .new-ck-btn-presente {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 56px;
  padding: 0.85rem 3.25rem 0.85rem 1rem !important;
  background: #FBD3E9 !important;
  background: linear-gradient(to right, #BB377D, #FBD3E9) !important;
  border: 0 !important;
  color: #fff !important;
}
.new-checkout .new-ck-gift-icon {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  object-fit: contain;
  pointer-events: none;
}
.new-checkout #ck-gift-form #ck-gift-save,
.new-checkout #ck-gift-form #ck-gift-cancel {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
}
.new-checkout .new-ck-btn-fidelidade {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 56px;
  padding: 0.85rem 1rem !important;
  background: #f0a42a !important;
  background: linear-gradient(to right, #f4d082, #f0a42a) !important;
  border: 0 !important;
  color: #fff !important;
}
.new-checkout .new-ck-cupom-row {
  align-items: center;
}
.new-checkout .new-ck-cupom-row #ck-cupom {
  height: 42px;
  min-width: 0;
}
.new-checkout #ck-cupom-apply {
  height: 42px;
  padding: 0 16px !important;
  font-size: 12px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.new-pay .new-pay-qr {
  border-radius: 0.75rem;
  background: #fff;
  padding: 0.5rem;
}
/* 28/07/2026 17:40 - QR esq + textarea copia e cola (mesma altura, flex) @filipemontt */
.new-pay-pix-row {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  width: 100%;
}
.new-pay-pix-row .new-pay-qr {
  flex: 0 0 110px;
  width: 110px;
  height: 110px;
  max-width: 110px;
  object-fit: contain;
  box-sizing: border-box;
  display: block;
}
.new-pay-pix-row .new-pay-pix-copia {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0 !important;
  /* 28/07/2026 17:55 - Alinha visual: textarea 10px abaixo do topo do QR @filipemontt */
  margin-top: 10px !important;
  display: flex;
  flex-direction: column;
  /* 28/07/2026 17:50 - Textarea ~20px menor que o QR (110→90) @filipemontt */
  height: 90px;
}
.new-pay-pix-row .new-pay-pix-copia .form-control,
.new-pay-pix-row .new-pay-pix-copia #pay-copia {
  flex: 1 1 auto;
  height: 100% !important;
  min-height: 0;
  resize: none;
  font-size: 11px;
  /* Menuy .input-style textarea usa line-height:45px — compactar. 28/07/2026 17:45 @filipemontt */
  line-height: 1.15 !important;
  overflow-y: auto;
  word-break: break-all;
  padding-top: 0.35rem;
}
/* 23/07/2026 23:05 - Contador 1 min na tela PIX @filipemontt */
.new-pay-pix-timer {
  padding: 0.65rem 0.75rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(15, 23, 42, 0.1);
  background: rgba(148, 163, 184, 0.08);
}
.theme-dark .new-pay-pix-timer {
  border-color: rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.04);
}
.new-pay-pix-timer.is-expired #pay-pix-timer-num {
  color: #dc2626 !important;
  opacity: 0.9;
}
/* 23/07/2026 20:11 - Botão Copiar código PIX 100% width @filipemontt */
.new-pay #pay-copy,
.new-pay #pay-go,
.new-pay .btn.btn-full {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
/* 23/07/2026 23:40 - Hint comprovante legível no light @filipemontt */
.new-pay-offline-hint {
  color: rgba(15, 23, 42, 0.72);
}
.theme-dark .new-pay-offline-hint {
  color: rgba(255, 255, 255, 0.45);
}
.new-checkout .border-theme.border-opacity-10 {
  border-color: rgba(15, 23, 42, 0.08) !important;
}
.theme-dark .new-checkout .border-theme.border-opacity-10 {
  border-color: rgba(255, 255, 255, 0.08) !important;
}
.new-checkout-footer {
  position: sticky;
  bottom: 0;
  margin-top: 0.5rem;
  padding-top: 0.75rem;
  padding-bottom: 0.25rem;
  background: linear-gradient(180deg, transparent, var(--new-ck-footer-bg, #fff) 28%);
  z-index: 2;
}
.theme-dark .new-checkout-footer {
  --new-ck-footer-bg: #0f1117;
}
/* 31/07/2026 19:05 - Card totais: fundo semi-transparente (texto opaco via rgba, não opacity no container) @filipemontt */
.new-checkout .new-ck-totals {
  border-radius: 0.85rem;
  overflow: hidden;
  background: rgba(243, 244, 246, 0.72);
  border: 1px solid rgba(15, 23, 42, 0.06);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.theme-dark .new-checkout .new-ck-totals {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.08);
}
.new-checkout .new-ck-totals-inner {
  padding: 0.95rem 1.05rem;
}
.new-checkout-footer .btn.btn-full,
.new-checkout-footer #btn-place,
.new-checkout #ck-save-end,
.new-checkout #ck-cancel-end,
.new-profile #btn-logout {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
}
.new-units-line.is-active {
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--brand, #16a34a) 45%, transparent);
}
.new-units-thumb {
  background: rgba(148, 163, 184, 0.15);
}
.new-orders-head h2,
.new-profile-head h2,
.new-units-head h2,
.new-checkout-head h2 {
  line-height: 1.15;
}
/* 23/07/2026 22:36 - Subtítulo lista de pedidos mais legível no light @filipemontt */
.new-orders-sub {
  color: rgba(255, 255, 255, 0.55);
}
.theme-light .new-orders-sub {
  color: rgba(30, 35, 45, 0.78);
}
/* 23/07/2026 20:16 - Cards de pedidos + receipt @filipemontt */
.new-orders-card {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  background: var(--new-var-bg, #fff);
  cursor: default;
  -webkit-tap-highlight-color: transparent;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04);
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 0.85rem !important;
  overflow: hidden;
}
.theme-dark .new-orders-card {
  --new-var-bg: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.08) !important;
}
/* 31/07/2026 19:10 - Placeholder discreto: nenhum pedido feito hoje @filipemontt */
.new-orders-empty-today {
  background: transparent !important;
  box-shadow: none !important;
  border: 1px dashed rgba(15, 23, 42, 0.12) !important;
  border-radius: 0.85rem !important;
  overflow: hidden;
}
.theme-dark .new-orders-empty-today {
  border-color: rgba(255, 255, 255, 0.12) !important;
  background: rgba(255, 255, 255, 0.02) !important;
}
.theme-light .new-orders-empty-today {
  background: rgba(15, 23, 42, 0.02) !important;
}

/* 23/07/2026 21:38 - Pedido mais recente: tema invertido + texto legível (Menuy força span/color-theme) @filipemontt */
.theme-dark .new-orders-card.is-latest {
  --new-var-bg: #fff;
  background: #fff !important;
  color: #0f1117;
  border-color: rgba(15, 23, 42, 0.12) !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.4);
}
.theme-dark .new-orders-card.is-latest .color-theme,
.theme-dark .new-orders-card.is-latest h5,
.theme-dark .new-orders-card.is-latest p,
.theme-dark .new-orders-card.is-latest strong,
.theme-dark .new-orders-card.is-latest button,
.theme-dark .new-orders-card.is-latest .new-orders-action,
.theme-dark .new-orders-card.is-latest span:not(.badge):not(.new-orders-status):not(.new-orders-bullet):not(.color-highlight) {
  color: #0f1117 !important;
}
.theme-dark .new-orders-card.is-latest .new-orders-addr {
  border-color: rgba(15, 23, 42, 0.12);
}
.theme-dark .new-orders-card.is-latest .new-orders-action {
  border-color: rgba(15, 23, 42, 0.12);
}
.theme-dark .new-orders-card.is-latest .new-orders-progress {
  background: rgba(148, 163, 184, 0.25);
}

.theme-light .new-orders-card.is-latest {
  --new-var-bg: #0f1117;
  background: #0f1117 !important;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 8px 28px rgba(15, 23, 42, 0.16);
}
.theme-light .new-orders-card.is-latest .color-theme,
.theme-light .new-orders-card.is-latest h5,
.theme-light .new-orders-card.is-latest p,
.theme-light .new-orders-card.is-latest strong,
.theme-light .new-orders-card.is-latest button,
.theme-light .new-orders-card.is-latest .new-orders-action,
.theme-light .new-orders-card.is-latest span:not(.badge):not(.new-orders-status):not(.new-orders-bullet):not(.color-highlight) {
  color: #fff !important;
}
.theme-light .new-orders-card.is-latest .new-orders-addr {
  border-color: rgba(255, 255, 255, 0.14);
}
.theme-light .new-orders-card.is-latest .new-orders-action {
  border-color: rgba(255, 255, 255, 0.14);
}
.theme-light .new-orders-card.is-latest .new-orders-progress {
  background: rgba(255, 255, 255, 0.12);
}
/* 23/07/2026 22:34 - Card principal como <button> sem estilo de form @filipemontt */
.new-orders-card-main {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  display: block;
  width: 100%;
  color: inherit;
  font: inherit;
  text-align: left;
  appearance: none;
  -webkit-appearance: none;
}
.new-orders-card-main:focus {
  outline: none;
}
.new-orders-card-main:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--brand, #AA8E69) 70%, transparent);
  outline-offset: 2px;
}
.new-orders-card-main:active {
  transform: scale(0.99);
}
/* 23/07/2026 21:55 - Tentar pagar novamente em 100% width @filipemontt */
/* 23/07/2026 21:56 - Texto branco (ignora theme-dark / is-latest) @filipemontt */
.new-orders [data-ord-retry-pay],
.theme-dark .new-orders [data-ord-retry-pay],
.theme-light .new-orders [data-ord-retry-pay],
.theme-dark .new-orders-card.is-latest [data-ord-retry-pay],
.theme-light .new-orders-card.is-latest [data-ord-retry-pay],
.new-orders [data-ord-retry-pay] span,
.theme-dark .new-orders [data-ord-retry-pay] span {
  display: block;
  width: 100% !important;
  box-sizing: border-box;
  color: #fff !important;
}

/* 23/07/2026 21:56 - Isola Card Brick MP do theme-dark Menuy (span/input #FFF) @filipemontt */
/* 23/07/2026 21:58 - Labels: Menuy força background #0f1117 em theme-dark label @filipemontt */
.new-mp-card-brick {
  background: #fff !important;
  color: #1f1f1f !important;
  border-radius: 0.75rem;
  padding: 0.35rem 0.15rem;
}
.theme-dark .new-mp-card-brick,
.theme-dark .new-mp-card-brick .card {
  background-color: #fff !important;
  color: #1f1f1f !important;
}
.theme-dark .new-mp-card-brick input,
.theme-dark .new-mp-card-brick textarea,
.theme-dark .new-mp-card-brick select {
  color: #1f1f1f !important;
  background-color: #fff !important;
  -webkit-text-fill-color: #1f1f1f !important;
  caret-color: #1f1f1f;
}
.theme-dark .new-mp-card-brick label,
.theme-dark .new-mp-card-brick .menu label {
  background-color: #fff !important;
  color: #1f1f1f !important;
}
.theme-dark .new-mp-card-brick span:not(.badge),
.theme-dark .new-mp-card-brick p,
.theme-dark .new-mp-card-brick small,
.theme-dark .new-mp-card-brick legend,
.theme-dark .new-mp-card-brick div,
.theme-dark .new-mp-card-brick strong,
.theme-dark .new-mp-card-brick li {
  color: #1f1f1f !important;
  background-color: transparent;
}
.theme-dark .new-mp-card-brick button,
.theme-dark .new-mp-card-brick [type="submit"],
.theme-dark .new-mp-card-brick [class*="mp-button"],
.theme-dark .new-mp-card-brick [class*="Button"] {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
/* 23/07/2026 20:38 - Ações Ajuda / Pedir de novo @filipemontt */
.new-orders-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem;
}
.new-orders-action {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  padding: 0.65rem 0.4rem;
  border-radius: 0.65rem;
  border: 1px solid rgba(15, 23, 42, 0.1);
  background: transparent;
  color: inherit;
  text-decoration: none;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
}
.theme-dark .new-orders-action {
  border-color: rgba(255, 255, 255, 0.12);
}
.new-orders-action i {
  font-size: 1.1rem;
}
.new-orders-action.is-disabled {
  opacity: 0.4;
  pointer-events: none;
}
.new-orders-bullet {
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 50%;
  flex: 0 0 auto;
  margin-top: 0.35rem; /* alinha com a linha do Pedido # @filipemontt 23/07/2026 20:28 */
  box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 12%, transparent);
}
.new-orders-receipt-head .new-orders-bullet {
  margin-top: 0.45rem;
}
/* 23/07/2026 20:18 - Barra de progresso fina por status @filipemontt */
/* 23/07/2026 20:29 - Laranja aguardando / verde ativo (oscilam); cinza final @filipemontt */
.new-orders-progress {
  height: 3px;
  width: 100%;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.25);
  overflow: hidden;
}
.theme-dark .new-orders-progress {
  background: rgba(255, 255, 255, 0.12);
}
.new-orders-progress > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #22c55e;
  transform-origin: left center;
  transition: width .35s ease;
}
.new-orders-progress.is-wait > span {
  background: #f97316;
}
.new-orders-progress.is-go > span {
  background: #22c55e;
}
.new-orders-progress.is-done > span {
  background: #9ca3af;
  animation: none;
}
.new-orders-progress.is-live > span {
  animation: new-orders-bar-pulse 1.35s ease-in-out infinite;
}
@keyframes new-orders-bar-pulse {
  0%, 100% { opacity: 0.45; }
  50% { opacity: 1; }
}
/* 23/07/2026 23:42 - Texto "A caminho" oscila como a barra @filipemontt */
.new-orders-status.is-live {
  display: inline-block;
  animation: new-orders-bar-pulse 1.35s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .new-orders-progress.is-live > span,
  .new-orders-status.is-live {
    animation: none;
    opacity: 1;
  }
}
/* 23/07/2026 20:27 - Box endereço sem fundo, borda suave @filipemontt */
.new-orders-addr {
  padding: 0.55rem 0.7rem;
  border-radius: 0.55rem;
  background: transparent;
  border: 1px solid rgba(15, 23, 42, 0.12);
  line-height: 1.35;
}
.theme-dark .new-orders-addr {
  border-color: rgba(255, 255, 255, 0.14);
}
.new-orders-item-thumb {
  width: 40px;
  height: 40px;
  object-fit: cover;
  flex: 0 0 40px;
  background: rgba(148, 163, 184, 0.15);
}
.new-orders-receipt #ord-back {
  display: inline-flex;
  align-items: center;
}

/* 26/07/2026 16:10 - Estrelas da avaliação + botão Recebi no card destaque @filipemontt */
/* 26/07/2026 16:20 - Botões Recebi/Avaliar 100% width; Fechar cinza @filipemontt */
/* 26/07/2026 16:45 - Recebi: +10px margem topo @filipemontt */
.new-orders .btn.btn-full.w-100,
.new-orders [data-ord-action="recebi"],
.new-orders [data-ord-action="cancelar"],
.new-orders #ord-review-send,
.new-orders #ord-review-close {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
}
.new-orders [data-ord-action="recebi"],
.new-orders .new-orders-recebi {
  margin-top: calc(0.5rem + 10px);
}
.new-orders [data-ord-action="cancelar"],
.new-orders .new-orders-cancel {
  margin-top: calc(0.5rem + 10px);
}
.new-orders-stars {
  display: flex;
  justify-content: center;
  gap: 0.55rem;
}
.new-orders-star {
  border: 0;
  background: transparent;
  padding: 0.25rem;
  cursor: pointer;
  color: rgba(148, 163, 184, 0.45);
  line-height: 1;
  -webkit-tap-highlight-color: transparent;
}
.new-orders-star i {
  font-size: 1.85rem;
}
.new-orders-star.is-on {
  color: var(--brand, #AA8E69);
}
.theme-light .new-orders-card.is-latest button.border-highlight.color-highlight,
.theme-dark .new-orders-card.is-latest button.border-highlight.color-highlight {
  color: var(--brand, #AA8E69) !important;
  border-color: var(--brand, #AA8E69) !important;
  background: transparent !important;
}

#cardRight .new-pdp-add-btn {
  flex: 1 1 auto;
  min-width: 0;
  width: auto !important;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Bullet status aberto/fechado ao lado do toggle tema */
/* 23/07/2026 21:33 - Sobe 1px no page-title e no header sticker @filipemontt */
.new-status-dot {
  font-size: 12px;
  line-height: 1;
  vertical-align: middle;
  position: relative;
  top: -1px;
}
.new-status-dot.is-open { color: #16a34a !important; }
.new-status-dot.is-closed { color: #dc2626 !important; }
#status-bullet,
#status-bullet-hdr {
  pointer-events: none;
}

/* 22/07/2026 20:44 - Subtítulo do header sem quebra de linha @filipemontt */
#hdr > div {
  min-width: 0;
  overflow: hidden;
}
#tenant-bairro {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

/* 22/07/2026 20:48 - Variações PDP: botões rádio + colapso @filipemontt */
.new-var-select-sync {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.new-var-ui {
  margin-top: 0.75rem;
  margin-bottom: 0.35rem;
}
.new-var-options {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.new-var-opt {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  text-align: left;
  padding: 0.85rem 1rem;
  border-radius: 0.85rem;
  border: 1.5px solid rgba(15, 23, 42, 0.12);
  background: var(--new-var-bg, #fff);
  color: inherit;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04);
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .15s ease;
  -webkit-tap-highlight-color: transparent;
}
.theme-dark .new-var-opt {
  --new-var-bg: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.12);
}
.new-var-opt:active:not(:disabled) {
  transform: scale(0.985);
}
.new-var-opt.is-selected {
  border-color: var(--brand, #AA8E69);
  background: color-mix(in srgb, var(--brand, #AA8E69) 12%, transparent);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--brand, #AA8E69) 40%, transparent);
}
.new-var-opt.is-disabled,
.new-var-opt:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.new-var-opt-radio {
  flex: 0 0 auto;
  width: 1.15rem;
  height: 1.15rem;
  border-radius: 50%;
  border: 2px solid rgba(15, 23, 42, 0.28);
  position: relative;
  transition: border-color .2s ease, background .2s ease;
}
.theme-dark .new-var-opt-radio {
  border-color: rgba(255, 255, 255, 0.35);
}
.new-var-opt.is-selected .new-var-opt-radio {
  border-color: var(--brand, #AA8E69);
  background: var(--brand, #AA8E69);
  box-shadow: inset 0 0 0 3px #fff;
}
.theme-dark .new-var-opt.is-selected .new-var-opt-radio {
  box-shadow: inset 0 0 0 3px #1a1a1a;
}
.new-var-opt-body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}
.new-var-opt-name {
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.25;
}
.new-var-opt-price,
.new-var-opt-meta {
  flex: 0 0 auto;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--brand, #16a34a);
  white-space: nowrap;
}
.new-var-opt-meta {
  color: #b91c1c;
  font-weight: 500;
}
.new-var-picked {
  margin-bottom: 0.15rem;
}
.new-var-picked-row {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.8rem 0.9rem;
  border-radius: 0.85rem;
  border: 1.5px solid color-mix(in srgb, var(--brand, #16a34a) 55%, transparent);
  background: color-mix(in srgb, var(--brand, #16a34a) 10%, transparent);
}
.new-var-picked-check {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--brand, #16a34a);
  color: #fff;
  font-size: 0.7rem;
  flex: 0 0 auto;
}
.new-var-picked-text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
.new-var-picked-label {
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.new-var-picked-price {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--brand, #16a34a);
}
.new-var-change-btn {
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  color: var(--brand, #16a34a);
  font-weight: 700;
  font-size: 0.82rem;
  padding: 0.35rem 0.45rem;
  border-radius: 0.4rem;
  -webkit-tap-highlight-color: transparent;
}
.new-var-change-btn:active {
  opacity: 0.7;
}

/* Sheet intents (sacola/perfil) — fora do cardRight Menuy */
.sheet-backdrop {
  position: fixed; inset: 0; z-index: 9998;
  background: rgba(15, 23, 42, .5);
  opacity: 0; pointer-events: none;
  transition: opacity .28s ease;
}
.sheet-backdrop.open { opacity: 1; pointer-events: auto; }
.sheet-panel {
  position: fixed; left: 50%; bottom: 0; z-index: 9999;
  width: min(100%, 32rem);
  transform: translate(-50%, 110%);
  max-height: min(92dvh, 860px);
  background: #fff;
  border-radius: 1.25rem 1.25rem 0 0;
  box-shadow: 0 -12px 40px rgba(15,23,42,.18);
  transition: transform .34s cubic-bezier(.22,1,.36,1);
  display: flex; flex-direction: column;
}
.theme-dark .sheet-panel { background: #0f1117; color: #fff; }
.sheet-panel.open { transform: translate(-50%, 0); }
.sheet-handle {
  width: 42px; height: 4px; border-radius: 99px;
  background: #cbd5e1; margin: 10px auto 6px;
}
.sheet-body { overflow-y: auto; flex: 1; padding: 0 16px max(16px, env(safe-area-inset-bottom)); }

.toast {
  position: fixed; left: 50%; bottom: 5.5rem; z-index: 10000;
  transform: translateX(-50%) translateY(20px);
  background: #0f172a; color: #fff;
  padding: .65rem 1rem; border-radius: 999px;
  font-size: .8rem; font-weight: 600;
  opacity: 0; pointer-events: none;
  transition: .25s ease;
  max-width: 90%;
}
.toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

.w-full { width: 100%; }
.flex { display: flex; }
.flex-1 { flex: 1; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.gap-2 { gap: 8px; }
.gap-3 { gap: 12px; }
.min-w-0 { min-width: 0; }
.truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.text-sm { font-size: 14px; }
.text-xs { font-size: 12px; }
.text-muted { color: #898989; }
.font-bold { font-weight: 700; }
.font-semibold { font-weight: 600; }
.mb-2 { margin-bottom: 8px; }
.mb-3 { margin-bottom: 12px; }
.mb-4 { margin-bottom: 16px; }
.py-10 { padding-top: 40px; padding-bottom: 40px; }
.text-center { text-align: center; }
.rounded-lg { border-radius: 8px; }
.rounded-xl { border-radius: 12px; }
.object-cover { object-fit: cover; }
.bg-gray-100 { background: #f1f5f9; }
.bg-soft { background: rgba(148,163,184,.15); }
.h-14 { height: 56px; }
.w-14 { width: 56px; }
.w-8 { width: 32px; }
.h-8 { height: 32px; }
.border-b { border-bottom: 1px solid rgba(15,23,42,.08); }
.bg-brand { background: var(--brand, #16a34a) !important; color: #fff !important; }

/* 23/07/2026 21:10 - Perfil PLUS (avatar, tiles, favorito) @filipemontt */
.new-profile-avatar {
  width: 56px;
  height: 56px;
  object-fit: cover;
  flex-shrink: 0;
}
.new-profile-tile {
  min-width: 0;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
}
.theme-dark .new-profile-tile {
  border-color: rgba(255, 255, 255, 0.08) !important;
}
button.new-profile-action {
  appearance: none;
  -webkit-appearance: none;
  background: inherit;
  text-align: center;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
button.new-profile-action:active {
  transform: scale(0.98);
}
.new-profile-fav {
  background: linear-gradient(135deg, #2a2a2a 0%, #1a1a1a 100%);
  border: none !important;
}
.new-profile-fav .color-theme,
.new-profile-fav .font-11 {
  color: #fff !important;
}
.new-profile-fav .opacity-50 {
  color: rgba(255, 255, 255, 0.65) !important;
  opacity: 1 !important;
}
.new-profile-fav-img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border: 3px dotted rgba(255, 255, 255, 0.85);
  flex-shrink: 0;
}
.new-profile-stars .fa-star {
  font-size: 1.1rem;
}
/* 23/07/2026 22:01 - Labels dos tiles mais escuros no light; link excluir discreto @filipemontt */
.theme-light .new-profile-tile-label {
  color: #1f1f1f !important;
  opacity: 0.78 !important;
}
.theme-dark .new-profile-tile-label {
  color: inherit;
  opacity: 0.5;
}
.new-profile-delete-link {
  color: inherit;
  opacity: 0.45;
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 500;
}
.new-profile-delete-link:hover,
.new-profile-delete-link:focus {
  opacity: 0.7;
  color: #dc2626;
}

/* 23/07/2026 21:16 - Banners @filipemontt */
/* 23/07/2026 21:23 - Splide + altura fixa 140px @filipemontt */
/* 23/07/2026 21:24 - Full width (sem max-width/300px) @filipemontt */
/* 23/07/2026 21:25 - Margem lateral ~20px @filipemontt */
.new-banners-slider {
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
}
.new-banners-slider .splide__slide {
  width: 100%;
}
.new-banner-link {
  display: block;
  width: 100%;
  text-decoration: none;
  color: inherit;
}
.new-banner-card {
  width: 100%;
  height: 140px !important;
  border-radius: 10px !important;
  overflow: hidden;
  background-repeat: no-repeat;
  background-size: cover !important;
  background-position: center !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}
/* 23/07/2026 21:32 - Destaques: sem ms-3; gap Splide 8px @filipemontt */
#single-slider-1 .new-destaque-card {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

#closedBadgeInfo {
  cursor: pointer;
}

/* 23/07/2026 21:28 - Instagram + idioma abaixo do Presencialmente @filipemontt */
.new-home-footer {
  min-height: 36px;
}
.new-home-ig {
  line-height: 1;
  text-decoration: none;
}
.new-home-ig:active {
  opacity: 0.7;
}
.new-lang-btn {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  line-height: 0;
}
.new-lang-flag {
  border-radius: 50%;
  border: 2px solid #f3e8de;
  object-fit: cover;
  display: block;
}
.new-lang-opt {
  border-radius: 50%;
  border: 2px solid #f3e8de;
  cursor: pointer;
  object-fit: cover;
}

/* 24/07/2026 13:50 - Cards supermercado (double-slider) @filipemontt */
/* 24/07/2026 14:05 - Nome empilhado + preço embaixo; sem cortar texto @filipemontt */
.new-shop-section .double-slider {
  visibility: visible;
}
.new-shop-card {
  overflow: visible;
  cursor: pointer;
  height: auto !important;
}
.new-shop-card-img {
  width: 100%;
  height: 110px;
  object-fit: cover;
  display: block;
  background: rgba(148, 163, 184, 0.12);
  border-radius: 0.5rem 0.5rem 0 0;
}
.new-shop-card-body {
  overflow: visible;
  min-height: auto;
}
.new-shop-card-title {
  display: block;
  width: 100%;
  margin: 0 0 0.25rem;
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
  word-break: break-word;
  overflow-wrap: anywhere;
  line-height: 1.25;
  font-size: 0.75rem !important;
  font-weight: 700;
  color: inherit;
}
.new-shop-card-price {
  display: block;
  width: 100%;
  font-size: 0.8125rem !important;
  font-weight: 800;
  line-height: 1.2;
}
.theme-light .new-shop-card .bg-theme,
.theme-light .new-shop-card-body {
  background: #fff !important;
}
.new-shop-show-all {
  white-space: nowrap;
  text-decoration: none;
}
.new-shop-show-all:active {
  opacity: 0.7;
}

/* 24/07/2026 18:21 - Sobe botão Wbot no mobile p/ não cobrir Perfil na footer-bar @filipemontt */
@media (max-width: 991px) {
  #wbot-open-chat {
    bottom: 90px !important;
  }
}

/* =============================================================================
 * 24/07/2026 18:30 - Desktop ecommerce shell (Fase 1)
 * Só min-width:992px — mobile intacto. Site largo + nav no topo.
 * @filipemontt
 * ============================================================================= */
@media (min-width: 992px) {
  :root {
    --new-desk-max: 1280px;
    --new-desk-pad: max(28px, calc((100vw - var(--new-desk-max)) / 2));
    --new-desk-hdr: 116px;
    --new-desk-nav: 56px;
  }

  body#new-body {
    background: #e9ecf2;
  }
  body#new-body.theme-dark {
    background: #07080c;
  }

  /* Mini-header Menuy (aparece no scroll) — no desktop o page-title já é sticky */
  body#new-body .header.header-fixed.header-auto-show {
    display: none !important;
  }

  /* 24/07/2026 18:36 - Header desktop maior + mais padding (resp. usuário) @filipemontt */
  /* 24/07/2026 18:37 - !important no padding-top: Menuy zera via safe-area no .page-title @filipemontt */
  body#new-body .page-title-fixed {
    display: flex !important;
    align-items: center;
    gap: 0.35rem;
    left: 0;
    right: 0;
    top: 0;
    z-index: 100;
    margin: 0;
    min-height: var(--new-desk-hdr);
    height: auto;
    padding: 20px var(--new-desk-pad) 20px !important;
    padding-top: 20px !important;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.92);
    -webkit-backdrop-filter: saturate(180%) blur(16px);
    backdrop-filter: saturate(180%) blur(16px);
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.03);
  }
  body#new-body.theme-dark .page-title-fixed {
    background: rgba(15, 17, 23, 0.92);
    border-bottom-color: rgba(255, 255, 255, 0.06);
    box-shadow: none;
  }
  body#new-body .page-title-fixed #tenant-logo {
    margin-left: 0 !important;
    width: 72px !important;
    height: 72px !important;
    border-width: 3px !important;
  }
  body#new-body .page-title-fixed > div {
    padding-left: 0.35rem;
    padding-right: 1rem;
  }
  body#new-body .page-title-fixed h1 {
    font-size: 1.65rem !important;
    line-height: 1.2 !important;
    margin-left: 4px !important;
    margin-bottom: 0.2rem !important;
    padding-top: 0 !important;
  }
  body#new-body .page-title-fixed #tenant-bairro {
    display: inline-block;
    font-size: 0.95rem !important;
    padding-left: 0.35rem !important;
    margin-top: 0.15rem;
  }
  body#new-body .page-title-fixed .page-title-icon {
    width: 44px;
    height: 44px;
    line-height: 44px;
    margin-right: 10px;
    font-size: 1.05rem;
  }

  /* Nav: de bottom-bar → top bar (abaixo do header) */
  body#new-body #footer-bar {
    top: var(--new-desk-hdr);
    bottom: auto !important;
    left: 0;
    right: 0;
    z-index: 99;
    min-height: var(--new-desk-nav);
    padding: 0 var(--new-desk-pad);
    box-sizing: border-box;
    border-top: none !important;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    background-color: rgba(255, 255, 255, 0.88);
    transform: none !important;
    transition: top 0.22s ease;
  }
  /* 24/07/2026 18:40 - No scroll: nav colada no topo (header some) @filipemontt */
  body#new-body.new-desk-scrolled #footer-bar {
    top: 0 !important;
    z-index: 101;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
  }
  body#new-body.theme-dark #footer-bar {
    border-bottom-color: rgba(255, 255, 255, 0.06);
    background-color: rgba(15, 17, 23, 0.88);
  }
  body#new-body #footer-bar a {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.65rem 0.5rem;
    max-width: 11rem;
  }
  body#new-body #footer-bar a span {
    margin-top: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    opacity: 0.78;
  }
  body#new-body #footer-bar a i {
    font-size: 1rem;
    transform: none;
  }
  body#new-body #footer-bar .menuy-nav-carrinho #cart-badge,
  body#new-body #footer-bar #cart-badge.badge {
    position: static !important;
    margin-left: 0.15rem !important;
    top: auto !important;
  }

  /* Espaço reservado: header + nav no topo */
  body#new-body .page-title-clear {
    height: calc(var(--new-desk-hdr) + var(--new-desk-nav)) !important;
  }

  /* Coluna do site */
  body#new-body #page {
    max-width: none;
    min-height: 100vh;
  }
  body#new-body #pageContent.page-content {
    max-width: var(--new-desk-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: 8px;
    padding-right: 8px;
    padding-bottom: 48px;
    box-sizing: border-box;
  }

  /* Wbot: canto do viewport, sem offset da footer mobile */
  body#new-body #wbot-open-chat {
    bottom: 28px !important;
    right: 28px !important;
  }

  /* ---- Fase 2: busca + destaques 3-up + grid de produtos ---- */

  /* Ícone da lupa ancorado no campo (Menuy usa absolute sem relative no box) */
  body#new-body .search-box {
    position: relative;
  }
  body#new-body .search-box .fa-search {
    left: 0;
    padding: 0 14px;
    z-index: 2;
    pointer-events: none;
  }
  body#new-body .search-box input {
    padding-left: 44px;
  }

  /* Destaques: tipografia/altura ok com 3 cards */
  body#new-body #single-slider-1 .new-destaque-card {
    height: 260px !important;
  }
  body#new-body #single-slider-1 .new-destaque-card h1 {
    font-size: 1.15rem !important;
    line-height: 1.25 !important;
    margin-bottom: 0;
  }

  /* Lista delivery: grid site (categoria full-width, cards em colunas) */
  body#new-body #lista {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem 1.15rem;
    padding: 0 0.75rem 1rem;
    box-sizing: border-box;
  }
  body#new-body #lista .menuyCategories {
    grid-column: 1 / -1;
    margin-top: 1.25rem !important;
    margin-bottom: 0.15rem !important;
  }
  body#new-body #lista .menuyProduto {
    flex-direction: column;
    align-items: stretch;
    margin: 0 !important;
    padding: 0.85rem !important;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    box-sizing: border-box;
    min-width: 0;
    height: 100%;
    transition: border-color 0.2s ease, background 0.2s ease;
  }
  body#new-body.theme-light #lista .menuyProduto {
    background: #fff;
    border-color: rgba(15, 23, 42, 0.08);
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.05);
  }
  body#new-body #lista .menuyProduto:hover {
    border-color: color-mix(in srgb, var(--brand, #16a34a) 45%, transparent);
  }
  body#new-body #lista .menuyProduto > .align-self-center:first-child {
    width: 100%;
  }
  body#new-body #lista .menuyProduto .produtoImg {
    width: 100% !important;
    height: 168px !important;
    margin: 0 0 0.75rem !important;
    border-radius: 10px !important;
  }
  body#new-body #lista .menuyProduto > .align-self-center[style*='flex:1'],
  body#new-body #lista .menuyProduto > div[style*='flex:1'] {
    width: 100%;
    flex: 1 1 auto !important;
  }
  body#new-body #lista .menuyProduto h2.font-15 {
    font-size: 0.92rem !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  body#new-body #lista .menuyProduto p.font-11 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  body#new-body #lista .menuyProduto > .ms-auto {
    margin-left: 0 !important;
    margin-top: 0.65rem;
    padding-left: 0 !important;
    width: 100%;
    text-align: left !important;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem 0.55rem;
  }
  body#new-body #lista .menuyProduto > .ms-auto h2,
  body#new-body #lista .menuyProduto > .ms-auto h4 {
    margin: 0 !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  body#new-body #lista {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* 28/07/2026 13:24 - Desativa “salvar imagem” no long-press da logo (iOS/Android) @filipemontt */
body#new-body #tenant-logo,
body#new-body .ent-logo-hold-wrap {
  -webkit-touch-callout: none !important;
  -webkit-user-select: none !important;
  user-select: none !important;
  -webkit-user-drag: none;
  user-drag: none;
  touch-action: manipulation;
}

/* 31/07/2026 17:50 - Dropdown autocomplete Mapbox no form de endereço @filipemontt */
.mapbox-ac-dropdown {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% - 2px);
  z-index: 40;
  max-height: 220px;
  overflow: auto;
  background: var(--bs-body-bg, #fff);
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12);
}
.mapbox-ac-item {
  display: block;
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  padding: 0.7rem 0.85rem;
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
  cursor: pointer;
}
.mapbox-ac-item:last-child { border-bottom: 0; }
.mapbox-ac-item:hover,
.mapbox-ac-item:focus {
  background: rgba(15, 23, 42, 0.04);
}
.mapbox-ac-street {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: inherit;
}
.mapbox-ac-rest {
  display: block;
  font-size: 11px;
  opacity: 0.55;
  margin-top: 2px;
}

/* 31/07/2026 18:30 - Bairro Mapbox readonly no form KM @filipemontt */
[data-km="1"] #ck-bairro-mb,
[data-km="1"] #pf-bairro-mb,
[data-addr-form][data-km="1"] input[id$="-bairro-mb"] {
  background: rgba(15, 23, 42, 0.04) !important;
  color: inherit;
  cursor: default;
  pointer-events: none;
}

