/**
 * 2026-05-06 @filipemontt — PDP menuy (AppKit): opções, sheet instant opaco, contraste tema claro/escuro.
 * 2026-05-06 @filipemontt — #cardRight: remove backdrop-filter e transparência herdada de .menu.
 * 2026-05-06 @filipemontt — Adicionais embutidos no card do grupo (.menuy-pdp-adc--embedded + .menuy-pdp-grupo-itens).
 * 2026-05-06 @filipemontt — #menuy-alert-modal acima do sheet instant / footer.
 * 2026-05-06 22:58 @filipemontt — Select de variação com texto/placeholder 13px.
 */

#menuy-alert-modal.menu.menu-box-modal {
  z-index: 100200 !important;
  max-height: min(72vh, 360px);
}

/* --- Sheet instant (card_right / openPageAjax): fundo sólido, legível --- */
#cardRight.menuy-instant-sheet.menu {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  /* Substitui rgba(255,255,255,0.8) de .menu que misturava com a imagem do header */
  background-color: #ffffff !important;
}

body.theme-dark #cardRight.menuy-instant-sheet.menu,
html.theme-dark #cardRight.menuy-instant-sheet.menu {
  background-color: #21252a !important;
}

/* Corpo scrollável atrás dos cards: sem “vazamento” nas laterais do card-style */
#cardRight.menuy-instant-sheet .menuy-instant-body.card.card-style {
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-shadow: none !important;
  border: none !important;
}

#cardRight.menuy-instant-sheet #page_ajax_content.content {
  margin-left: 0;
  margin-right: 0;
  padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px));
}

/* --- Formulário PDP --- */
.menuy-pdp-form {
  background: transparent;
}

/* Card topo (foto + preço): respiro inferior — 2026-05-06 @filipemontt */
.menuy-pdp-form .menuy-pdp-top-card > .content {
  padding-bottom: 10px !important;
}

/* Cards filhos diretos: mesma largura do card topo (AppKit .card-style usa margin 15px lateral) — 2026-05-06 @filipemontt */
#cardRight.menuy-instant-sheet #page_ajax_content .menuy-pdp-form > .card.card-style {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.menuy-pdp-opcao {
  cursor: pointer;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.theme-dark .menuy-pdp-opcao {
  background: rgba(15, 17, 23, 0.98);
  border-color: rgba(255, 255, 255, 0.1) !important;
}

.menuy-pdp-opcao:active {
  transform: scale(0.99);
}

.menuy-pdp-opcao.hide {
  display: none !important;
}

#page_ajax_content .menuy-pdp-form .card-style {
  border-radius: 18px;
}

/* Títulos de variação / grupo: sempre cor tema (evita #333 fixo no escuro) */
.menuy-pdp-form .menuy-pdp-var-card h2,
.menuy-pdp-form .menuy-pdp-var-card h5 {
  color: inherit;
}

.theme-dark .menuy-pdp-form .menuy-pdp-var-card h2,
.theme-dark .menuy-pdp-form .menuy-pdp-var-card h5 {
  color: #fff !important;
}

.theme-light .menuy-pdp-form .menuy-pdp-var-card h2,
.theme-light .menuy-pdp-form .menuy-pdp-var-card h5 {
  color: #0f1117 !important;
}

.menuy-pdp-form .menuy-pdp-adc-card {
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
}

.theme-dark .menuy-pdp-form .menuy-pdp-adc-card {
  border-color: rgba(255, 255, 255, 0.1) !important;
}

/* Stepper / select (demo page-food-product-1) — 2026-05-06 @filipemontt */
.menuy-pdp-form .input-style select.menuy-pdp-var-select {
  cursor: pointer;
  font-size: 13px !important;
  line-height: 1.3 !important;
}

.menuy-pdp-form .input-style select.menuy-pdp-var-select option {
  font-size: 13px;
}

/* Quantidade: 100% largura, fonte legível (conflito com .stepper 102px + font 11px do AppKit) — 2026-05-06 @filipemontt */
.menuy-pdp-form .menuy-pdp-qty-stepper.stepper {
  width: 100% !important;
  max-width: 100%;
  display: flex !important;
  flex-direction: row;
  align-items: stretch;
  box-sizing: border-box;
}

.menuy-pdp-form .menuy-pdp-qty-stepper.stepper::after {
  display: none !important;
}

.menuy-pdp-form .menuy-pdp-qty-stepper.stepper a:first-child,
.menuy-pdp-form .menuy-pdp-qty-stepper.stepper a:last-child {
  float: none !important;
  flex: 0 0 52px;
  width: 52px !important;
  min-width: 52px;
  height: auto !important;
  min-height: 52px;
  line-height: 1 !important;
  font-size: 16px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.menuy-pdp-form .menuy-pdp-qty-stepper.stepper input[type="number"] {
  float: none !important;
  flex: 1 1 auto;
  width: auto !important;
  min-width: 3rem;
  height: 52px !important;
  line-height: 52px !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  text-align: center;
  box-sizing: border-box;
}

.theme-dark .menuy-pdp-form .menuy-pdp-qty-stepper.stepper {
  border-color: rgba(255, 255, 255, 0.12) !important;
}

.theme-dark .menuy-pdp-form .menuy-pdp-qty-stepper.stepper a:first-child {
  border-right-color: rgba(255, 255, 255, 0.12) !important;
}

.theme-dark .menuy-pdp-form .menuy-pdp-qty-stepper.stepper a:last-child {
  border-left-color: rgba(255, 255, 255, 0.12) !important;
}

.menuy-pdp-form .menuy-pdp-addcart .btn {
  width: 100%;
}

/* Lightbox foto do produto — 2026-05-06 @filipemontt; nó fica em body (fora do sheet) para fixed = viewport. */
.menuy-pdp-photo-overlay {
  position: fixed !important;
  inset: 0;
  z-index: 100050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right))
    max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
  background: rgba(0, 0, 0, 0.88);
  box-sizing: border-box;
}

.menuy-pdp-photo-overlay.hide {
  display: none !important;
}

.menuy-pdp-photo-close {
  position: absolute;
  top: max(12px, env(safe-area-inset-top));
  right: max(12px, env(safe-area-inset-right));
  z-index: 2;
  border: none;
  cursor: pointer;
}

.menuy-pdp-photo-wrap {
  max-width: 100%;
  max-height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.menuy-pdp-photo-full {
  max-width: 100%;
  max-height: calc(100vh - 48px);
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 12px;
  pointer-events: none;
}

body.menuy-pdp-photo-open {
  overflow: hidden !important;
}

.menuy-pdp-form .menuy-pdp-obs-wrap textarea.form-control {
  font-size: 15px;
  line-height: 1.4;
  resize: vertical;
  min-height: 88px;
}

/* Linhas de adicional: não vazar do card (instant / .content) — 2026-05-06 @filipemontt */
.menuy-pdp-form #pers_varia {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

/* Itens de adicional dentro do mesmo card do grupo / avulsos — 2026-05-06 @filipemontt */
.menuy-pdp-form .menuy-pdp-grupo-itens {
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  /* 2026-05-06 22:54 @filipemontt — Respiro no fim do card para o último adicional não colar na borda. */
  padding-bottom: 8px;
}

.theme-dark .menuy-pdp-form .menuy-pdp-grupo-itens {
  border-top-color: rgba(255, 255, 255, 0.1);
}

/* 2026-05-06 22:54 @filipemontt — Dá respiro vertical entre itens sem separar nome/descrição/preço. */
.menuy-pdp-form .menuy-pdp-adc--embedded .menuy-pdp-adc-inner-emb {
  padding: 12px;
  box-sizing: border-box;
}

.menuy-pdp-form .menuy-pdp-grupo-itens .menuy-pdp-adc--embedded:first-child .menuy-pdp-adc-inner-emb {
  padding-top: 12px;
}

.menuy-pdp-form .menuy-pdp-grupo-itens .menuy-pdp-adc--embedded + .menuy-pdp-adc--embedded {
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.theme-dark .menuy-pdp-form .menuy-pdp-grupo-itens .menuy-pdp-adc--embedded + .menuy-pdp-adc--embedded {
  border-top-color: rgba(255, 255, 255, 0.08);
}

.menuy-pdp-form .menuy-pdp-adc-line {
  box-sizing: border-box;
}

.menuy-pdp-form .menuy-pdp-adc-card.card-style {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100%;
}

.menuy-pdp-form .menuy-pdp-adc-card > .content {
  max-width: 100%;
  box-sizing: border-box;
}

.menuy-pdp-form .menuy-pdp-adc-inner {
  min-width: 0;
}

/* Coluna nome → descrição → preço (sem padding/margem entre linhas) — 2026-05-06 @filipemontt */
.menuy-pdp-form .menuy-pdp-adc-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  padding: 0;
  margin: 0;
  min-width: 0;
}

.menuy-pdp-form .menuy-pdp-adc-copy .menuy-pdp-adc-nome {
  margin: 0;
  padding: 0;
  line-height: 1.25;
}

.menuy-pdp-form .menuy-pdp-adc-copy .menuy-pdp-adc-desc {
  margin: 0;
  padding: 0;
  line-height: 1.25;
  margin-top: 2px;
}

.menuy-pdp-form .menuy-pdp-adc-copy .menuy-pdp-adc-nome + .menuy-pdp-adc-unit {
  margin-top: 2px;
}

.menuy-pdp-form .menuy-pdp-adc-copy .menuy-pdp-adc-desc + .menuy-pdp-adc-unit {
  margin-top: 2px;
}

.menuy-pdp-form .menuy-pdp-adc-copy .menuy-pdp-adc-unit {
  margin: 0;
  padding: 0;
  line-height: 1.25;
}

.menuy-pdp-form .menuy-pdp-adc-card-content.content {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

/*
 * Stepper dos adicionais: layout horizontal único (AppKit usa float; sem flex quebra em 2×2).
 * 2026-05-06 @filipemontt
 */
.menuy-pdp-form .menuy-pdp-adc-stepper.stepper {
  width: auto !important;
  min-width: 118px;
  display: flex !important;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  box-sizing: border-box;
}

.menuy-pdp-form .menuy-pdp-adc-stepper.stepper::after {
  display: none !important;
  content: none !important;
}

.menuy-pdp-form .menuy-pdp-adc-stepper.stepper a:first-child,
.menuy-pdp-form .menuy-pdp-adc-stepper.stepper a:last-child {
  float: none !important;
  flex: 0 0 40px;
  width: 40px !important;
  min-width: 40px;
  max-width: 40px;
  height: 40px !important;
  min-height: 40px;
  line-height: 1 !important;
  font-size: 14px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.menuy-pdp-form .menuy-pdp-adc-stepper.stepper input[type="number"] {
  float: none !important;
  flex: 1 1 auto;
  width: 38px !important;
  min-width: 32px;
  max-width: 56px;
  height: 40px !important;
  line-height: 40px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-align: center;
  box-sizing: border-box;
}

.theme-dark .menuy-pdp-form .menuy-pdp-adc-stepper.stepper {
  border-color: rgba(255, 255, 255, 0.12) !important;
}

.theme-dark .menuy-pdp-form .menuy-pdp-adc-stepper.stepper a:first-child {
  border-right-color: rgba(255, 255, 255, 0.12) !important;
}

.theme-dark .menuy-pdp-form .menuy-pdp-adc-stepper.stepper a:last-child {
  border-left-color: rgba(255, 255, 255, 0.12) !important;
}
