/*
 * JuxtaPED — Montar Lanches V10
 * -----------------------------------------------------------
 * Esta folha é propositalmente SEPARADA do CSS global.
 *
 * O header/categorias/carrinho vêm de:
 *   home.css + style.css + juxta-ped-modern.css
 * exatamente como no cardápio.
 *
 * Aqui estilizamos SOMENTE o conteúdo do montar_lanches.
 */

body.jxp-modern.jx-lanches-page {
  background: #202a2f;
}

/* Nunca deixe os estilos legados da home posicionarem o builder. */
.jxp-modern.jx-lanches-page > .jxp-page {
  min-height: 100vh;
  background: #202a2f;
}

/* Hero abaixo do header fixo global */
.jxp-modern.jx-lanches-page .jx-lanches-shell {
  width: min(calc(100% - 36px), var(--jxp-container));
  margin: 0 auto;
  padding-top: 164px;
}

.jxp-modern.jx-lanches-page .jx-lanches-hero {
  width: 100%;
  margin: 0 0 14px;
  padding: 26px 30px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 20px;
  background:
    radial-gradient(circle at 88% 10%, rgba(179,22,22,.22), transparent 34%),
    linear-gradient(135deg,#29383f,#20292e);
  box-shadow: 0 16px 34px rgba(0,0,0,.16);
}

.jxp-modern.jx-lanches-page .jx-back-link {
  display: inline-block;
  margin-bottom: 20px;
  color: #dbe2e5;
  font-size: 13px;
  text-decoration: none;
}

.jxp-modern.jx-lanches-page .jx-eyebrow {
  display: block;
  margin-bottom: 9px;
  color: #ffaaa9;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
}

.jxp-modern.jx-lanches-page .jx-lanches-hero h1 {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(28px,3vw,40px);
  line-height: 1.08;
  letter-spacing: -.02em;
}

.jxp-modern.jx-lanches-page .jx-lanches-hero p {
  max-width: 760px;
  margin: 0;
  color: #bac5ca;
  font-size: 14px;
  line-height: 1.55;
}

/* =========================================================
   CONTAINER PRINCIPAL
   ========================================================= */

.jxp-modern.jx-lanches-page .box79 {
  position: relative !important;
  inset: auto !important;
  float: none !important;
  clear: both !important;
  width: min(calc(100% - 36px), var(--jxp-container)) !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 auto 14px !important;
  padding: 22px !important;
  overflow: visible !important;
  background: #26343b !important;
  background-image: none !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  border-radius: 20px !important;
  box-shadow: 0 15px 32px rgba(0,0,0,.16) !important;
}

.jxp-modern.jx-lanches-page .box6,
.jxp-modern.jx-lanches-page .box7 {
  position: static !important;
  float: none !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  background-image: none !important;
  overflow: visible !important;
}

.jxp-modern.jx-lanches-page .box25 {
  display: none !important;
}

.jxp-modern.jx-lanches-page .box19 {
  position: static !important;
  float: none !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: 230px minmax(0,1fr) !important;
  gap: 22px !important;
  align-items: start !important;
}

/* Preview */
.jxp-modern.jx-lanches-page .box11 {
  position: static !important;
  float: none !important;
  width: 230px !important;
  height: auto !important;
  margin: 0 !important;
  display: flex !important;
  justify-content: center !important;
}

.jxp-modern.jx-lanches-page #prato {
  position: relative !important;
  float: none !important;
  width: 220px !important;
  height: 220px !important;
  margin: 0 auto !important;
  border: 7px solid #a33b32 !important;
  border-radius: 50% !important;
  background-color: #fff !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  box-shadow: 0 14px 24px rgba(0,0,0,.18) !important;
}

.jxp-modern.jx-lanches-page #prato:not([style*="background-image"])::after {
  content: "Escolha um lanche";
  position: absolute;
  inset: 22%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #edf0f1;
  border-radius: 50%;
  color: #99a5aa;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}

/* Ingredientes */
.jxp-modern.jx-lanches-page .box44 {
  position: static !important;
  float: none !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.jxp-modern.jx-lanches-page .box12c {
  position: static !important;
  float: none !important;
  width: 100% !important;
  height: auto !important;
  min-height: 220px !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 14px !important;
  background: #fff !important;
}

.jxp-modern.jx-lanches-page .box13 {
  float: none !important;
  width: 100% !important;
  min-height: 42px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 11px 14px !important;
  border: 0 !important;
  background: #2f8a55 !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

.jxp-modern.jx-lanches-page .box14 {
  float: none !important;
  width: 100% !important;
  min-height: 178px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 64px 18px 24px !important;
  background: #f8faf9 !important;
  color: #59666b !important;
  text-align: center !important;
}

.jxp-modern.jx-lanches-page .box42,
.jxp-modern.jx-lanches-page .box43 {
  position: static !important;
  float: none !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  overflow: visible !important;
  background: #fff !important;
}

.jxp-modern.jx-lanches-page #boxingredientes {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.jxp-modern.jx-lanches-page #boxingredientes li {
  min-height: 42px !important;
  padding: 8px 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  border-bottom: 1px solid #edf0f1 !important;
}

/* Switch, já que não dependemos do lanches-home.css */
.jxp-modern.jx-lanches-page .switch {
  position: relative;
  display: inline-block;
  width: 44px;
  height: 22px;
  margin-left: auto;
}
.jxp-modern.jx-lanches-page .switch-input {
  position: absolute;
  opacity: 0;
}
.jxp-modern.jx-lanches-page .switch-label {
  position: absolute;
  inset: 0;
  border-radius: 20px;
  background: #dfe5e7;
  cursor: pointer;
}
.jxp-modern.jx-lanches-page .switch-handle {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,.22);
  transition: .2s ease;
}
.jxp-modern.jx-lanches-page .switch-input:checked + .switch-label {
  background: #49a8d4;
}
.jxp-modern.jx-lanches-page .switch-input:checked ~ .switch-handle {
  transform: translateX(22px);
}

/* Ações */
.jxp-modern.jx-lanches-page .box62 {
  grid-column: 1 / -1 !important;
  position: static !important;
  float: none !important;
  width: 100% !important;
  height: auto !important;
  margin: 18px 0 0 !important;
  padding: 12px !important;
  display: grid !important;
  grid-template-columns: minmax(0,1.35fr) minmax(230px,.65fr) !important;
  gap: 10px !important;
  background: #151d21 !important;
  border-radius: 14px !important;
}

.jxp-modern.jx-lanches-page #maislanche,
.jxp-modern.jx-lanches-page .box68 {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 58px !important;
  margin: 0 !important;
}

.jxp-modern.jx-lanches-page #maislanche {
  display: grid !important;
  grid-template-columns: 108px 1fr !important;
  align-items: stretch !important;
  background: #2f8a55 !important;
  border-radius: 11px !important;
}

.jxp-modern.jx-lanches-page .box64 {
  min-width: 0 !important;
  margin: 6px !important;
  padding: 13px 10px !important;
  background: #fff !important;
  border-radius: 8px !important;
  color: #286c45 !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  text-align: center !important;
}

.jxp-modern.jx-lanches-page .box65,
.jxp-modern.jx-lanches-page .box65a {
  float: none !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 10px 14px !important;
}

.jxp-modern.jx-lanches-page .box68 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 20px !important;
  background: #c4181d !important;
  background-image: none !important;
  border-radius: 11px !important;
}

/* Tamanho */
.jxp-modern.jx-lanches-page .box9 {
  position: static !important;
  float: none !important;
  clear: both !important;
  width: min(calc(100% - 36px), var(--jxp-container)) !important;
  height: auto !important;
  margin: -6px auto 24px !important;
  padding: 0 !important;
  background: transparent !important;
  background-image: none !important;
}

.jxp-modern.jx-lanches-page .box18 {
  float: none !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 12px !important;
  background: #151d21 !important;
  border-radius: 0 0 14px 14px !important;
}

.jxp-modern.jx-lanches-page .box171 {
  float: none !important;
  width: auto !important;
  max-width: 320px !important;
  height: auto !important;
  margin: 0 !important;
}

.jxp-modern.jx-lanches-page #tamanhos,
.jxp-modern.jx-lanches-page .box16 {
  width: 305px !important;
  max-width: 100% !important;
}

/* Catálogo */
.jxp-modern.jx-lanches-page .box27 {
  float: none !important;
  clear: both !important;
  width: min(calc(100% - 36px), var(--jxp-container)) !important;
  height: auto !important;
  margin: 0 auto !important;
  background: transparent !important;
}

.jxp-modern.jx-lanches-page .box28 {
  float: none !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
}

.jxp-modern.jx-lanches-page .box32 {
  min-height: 42px !important;
  height: auto !important;
  margin: 6px 0 12px !important;
  padding-left: 12px !important;
  border-left: 4px solid #c4181d !important;
}

.jxp-modern.jx-lanches-page .box33 {
  min-height: 34px !important;
  padding: 7px 0 !important;
  background-image: none !important;
  color: #fff !important;
  font-size: 21px !important;
  font-weight: 800 !important;
}

.jxp-modern.jx-lanches-page .box77 ul {
  display: grid !important;
  grid-template-columns: repeat(5,minmax(0,1fr)) !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.jxp-modern.jx-lanches-page .box77 ul li {
  float: none !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
}

/* Não alteramos absolutamente nada do header aqui. */

@media (max-width: 900px) {
  .jxp-modern.jx-lanches-page .jx-lanches-shell {
    padding-top: 140px;
  }

  .jxp-modern.jx-lanches-page .box19 {
    grid-template-columns: 1fr !important;
  }

  .jxp-modern.jx-lanches-page .box11 {
    width: 100% !important;
  }

  .jxp-modern.jx-lanches-page .box62 {
    grid-template-columns: 1fr !important;
  }

  .jxp-modern.jx-lanches-page .box77 ul {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }
}

@media (max-width: 640px) {
  .jxp-modern.jx-lanches-page .jx-lanches-shell,
  .jxp-modern.jx-lanches-page .box79,
  .jxp-modern.jx-lanches-page .box9,
  .jxp-modern.jx-lanches-page .box27 {
    width: calc(100% - 18px) !important;
  }

  .jxp-modern.jx-lanches-page .jx-lanches-hero {
    padding: 20px 18px;
  }

  .jxp-modern.jx-lanches-page #prato {
    width: 190px !important;
    height: 190px !important;
  }

  .jxp-modern.jx-lanches-page #tamanhos,
  .jxp-modern.jx-lanches-page .box16 {
    width: 100% !important;
  }

  .jxp-modern.jx-lanches-page .box77 ul {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 10px !important;
  }
}


/* =========================================================
   JuxtaPED — Montar Lanches V11
   Revisão final: preview, preço, tamanho e estado do botão
   ========================================================= */

/* O prato/pizza legado não pode aparecer no estado vazio. */
.jxp-modern.jx-lanches-page #prato.jx-empty-product,
.jxp-modern.jx-lanches-page #prato:not([data-ident]) {
  background-image: none !important;
  background-color: #eef2f1 !important;
  border-color: #56686f !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.5), 0 14px 24px rgba(0,0,0,.14) !important;
}

.jxp-modern.jx-lanches-page #prato.jx-has-product {
  background-color: #fff !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

.jxp-modern.jx-lanches-page .jx-empty-product-copy {
  display: none;
}

.jxp-modern.jx-lanches-page #prato.jx-empty-product .jx-empty-product-copy,
.jxp-modern.jx-lanches-page #prato:not([data-ident]) .jx-empty-product-copy {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 28px;
  color: #78878d;
  text-align: center;
}

.jxp-modern.jx-lanches-page .jx-empty-product-copy i {
  margin-bottom: 10px;
  color: #6e8178;
  font-size: 30px;
}

.jxp-modern.jx-lanches-page .jx-empty-product-copy strong {
  color: #405058;
  font-size: 14px;
}

.jxp-modern.jx-lanches-page .jx-empty-product-copy small {
  max-width: 150px;
  margin-top: 5px;
  color: #8c999e;
  font-size: 10px;
  line-height: 1.4;
}

/* Remove o círculo interno textual antigo do V10. */
.jxp-modern.jx-lanches-page #prato:not([style*="background-image"])::after {
  content: none !important;
  display: none !important;
}

/* Botão Pronto: produto com tamanho só fica ativo após escolher tamanho. */
.jxp-modern.jx-lanches-page #maislanche {
  cursor: pointer;
  transition: opacity .18s ease, filter .18s ease, transform .18s ease;
}

.jxp-modern.jx-lanches-page #maislanche:not(.jx-ready-disabled):hover {
  transform: translateY(-1px);
  filter: brightness(1.04);
}

.jxp-modern.jx-lanches-page #maislanche.jx-ready-disabled {
  cursor: not-allowed;
  opacity: .58;
  filter: saturate(.55);
}

.jxp-modern.jx-lanches-page #maislanche.jx-ready-disabled .box67:after {
  content: " • complete a seleção";
  opacity: .8;
}

/* Preço: mantém R$ e valor em uma única linha e evita quebra feia. */
.jxp-modern.jx-lanches-page .box64 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}

.jxp-modern.jx-lanches-page #valor_pizza {
  display: inline !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

/* Seletor de tamanho */
.jxp-modern.jx-lanches-page #tamanhos {
  position: relative !important;
  z-index: 40 !important;
}

.jxp-modern.jx-lanches-page #escolher_sabores {
  position: relative !important;
  overflow: visible !important;
  cursor: pointer !important;
}

.jxp-modern.jx-lanches-page #escolher_sabores > img {
  width: 48px !important;
  height: 48px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
}

.jxp-modern.jx-lanches-page #escolher_sabores #escolher {
  min-width: 0 !important;
  padding-right: 28px !important;
}

.jxp-modern.jx-lanches-page #escolher_sabores #escolher:after {
  content: "\f107";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  font-family: FontAwesome;
  color: #7b858a;
  font-size: 16px;
}

.jxp-modern.jx-lanches-page #escolher_sabores .box {
  position: absolute !important;
  left: 0 !important;
  right: auto !important;
  top: calc(100% + 7px) !important;
  width: 305px !important;
  max-width: min(305px, calc(100vw - 36px)) !important;
  height: auto !important;
  max-height: 260px !important;
  margin: 0 !important;
  padding: 6px !important;
  overflow-y: auto !important;
  display: none !important;
  border: 1px solid #dce2e4 !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 18px 36px rgba(0,0,0,.2) !important;
  z-index: 100060 !important;
}

.jxp-modern.jx-lanches-page #escolher_sabores .box.jx-size-open {
  display: block !important;
}

.jxp-modern.jx-lanches-page #escolher_sabores .box ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.jxp-modern.jx-lanches-page #escolher_sabores .box ul li {
  float: none !important;
  width: 100% !important;
  min-height: 60px !important;
  margin: 0 !important;
  padding: 8px 9px !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0,1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 10px !important;
  align-items: center !important;
  border: 0 !important;
  border-bottom: 1px solid #edf0f1 !important;
  background: #fff !important;
  cursor: pointer !important;
}

.jxp-modern.jx-lanches-page #escolher_sabores .box ul li:last-child {
  border-bottom: 0 !important;
}

.jxp-modern.jx-lanches-page #escolher_sabores .box ul li:hover {
  background: #f3f8f5 !important;
}

.jxp-modern.jx-lanches-page #escolher_sabores .box ul li img {
  grid-row: 1 / 3;
  width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  border-radius: 8px !important;
  object-fit: cover !important;
}

.jxp-modern.jx-lanches-page #escolher_sabores .box ul li label {
  width: auto !important;
  margin: 0 !important;
  color: #263238 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.jxp-modern.jx-lanches-page #escolher_sabores .box ul li small {
  width: auto !important;
  margin: 2px 0 0 !important;
  color: #728087 !important;
  font-size: 11px !important;
}

/* Toolbar do tamanho não deve ficar colada/invadir o catálogo. */
.jxp-modern.jx-lanches-page .box9 {
  position: relative !important;
  z-index: 30 !important;
  margin-top: -6px !important;
  margin-bottom: 34px !important;
}

/* Cards do catálogo mantêm o mesmo padrão visual da home. */
.jxp-modern.jx-lanches-page .box77 ul li .jxp-product-card {
  height: 100% !important;
}

@media (max-width: 640px) {
  .jxp-modern.jx-lanches-page #escolher_sabores .box {
    width: 100% !important;
    max-width: 100% !important;
  }

  .jxp-modern.jx-lanches-page #maislanche.jx-ready-disabled .box67:after {
    display: none;
  }
}
