/* JuxtaPED Checkout V2 — simples e isolado */

body.jxp-modern.jx-checkout-page{
  margin:0;
  background:#202a2f;
  color:#20282c;
}
.jxp-modern.jx-checkout-page *{box-sizing:border-box}

.jxp-modern.jx-checkout-page .jx-checkout-main{
  min-height:100vh;
  background:#202a2f;
  padding:165px 0 36px;
}

.jxp-modern.jx-checkout-page .jx-checkout-hero,
.jxp-modern.jx-checkout-page .jx-checkout-layout{
  width:min(calc(100% - 36px),var(--jxp-container,1160px));
  margin-left:auto;
  margin-right:auto;
}

.jxp-modern.jx-checkout-page .jx-checkout-hero{
  margin-bottom:14px;
  padding:26px 30px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:20px;
  background:
    radial-gradient(circle at 88% 8%,rgba(181,25,30,.22),transparent 34%),
    linear-gradient(135deg,#29383f,#20292e);
  box-shadow:0 16px 34px rgba(0,0,0,.16);
}
.jxp-modern.jx-checkout-page .jx-checkout-back{
  display:inline-block;
  margin-bottom:18px;
  color:#dbe2e5;
  font-size:13px;
  text-decoration:none;
}
.jxp-modern.jx-checkout-page .jx-checkout-hero>span{
  display:block;
  margin-bottom:8px;
  color:#ffaaa9;
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
}
.jxp-modern.jx-checkout-page .jx-checkout-hero h1{
  margin:0 0 8px;
  color:#fff;
  font-size:clamp(28px,3vw,38px);
  line-height:1.08;
}
.jxp-modern.jx-checkout-page .jx-checkout-hero p{
  max-width:720px;
  margin:0;
  color:#bac5ca;
  font-size:14px;
  line-height:1.5;
}

/* Neutraliza a estrutura antiga somente no checkout */
.jxp-modern.jx-checkout-page .jx-checkout-layout.box79{
  position:static!important;
  float:none!important;
  clear:both!important;
  width:min(calc(100% - 36px),var(--jxp-container,1160px))!important;
  height:auto!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:0!important;
  background:transparent!important;
  background-image:none!important;
  overflow:visible!important;
}

.jxp-modern.jx-checkout-page .box27{
  position:static!important;
  float:none!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 390px!important;
  gap:18px!important;
  width:100%!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
}

.jxp-modern.jx-checkout-page .box28a,
.jxp-modern.jx-checkout-page .box118,
.jxp-modern.jx-checkout-page .box119,
.jxp-modern.jx-checkout-page .box120,
.jxp-modern.jx-checkout-page .box121,
.jxp-modern.jx-checkout-page .box122,
.jxp-modern.jx-checkout-page .box122a,
.jxp-modern.jx-checkout-page .box124,
.jxp-modern.jx-checkout-page .box124a,
.jxp-modern.jx-checkout-page .box125,
.jxp-modern.jx-checkout-page .box146{
  position:static!important;
  float:none!important;
  height:auto!important;
}

.jxp-modern.jx-checkout-page .jx-checkout-forms{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  width:100%!important;
}

.jxp-modern.jx-checkout-page .box118,
.jxp-modern.jx-checkout-page .box119{
  width:100%!important;
  margin:0!important;
  border-radius:16px!important;
  background:#fff!important;
  border:1px solid #e8edef!important;
  box-shadow:0 10px 24px rgba(0,0,0,.11)!important;
  overflow:hidden!important;
}

.jxp-modern.jx-checkout-page .box32{
  float:none!important;
  width:100%!important;
  height:auto!important;
  margin:0!important;
  padding:18px 20px 4px!important;
  background:transparent!important;
}
.jxp-modern.jx-checkout-page .box78{
  float:none!important;
  color:#1f292e!important;
  font-size:19px!important;
  font-weight:800!important;
  line-height:1.2!important;
}
.jxp-modern.jx-checkout-page .jx-help{
  padding:0 20px 14px;
  color:#7a878c;
  font-size:13px;
}

.jxp-modern.jx-checkout-page .box119{padding:18px 20px!important}
.jxp-modern.jx-checkout-page .box121{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
}
.jxp-modern.jx-checkout-page .box122,
.jxp-modern.jx-checkout-page .box122a{
  width:100%!important;
  margin:0!important;
}
.jxp-modern.jx-checkout-page .box122a{grid-column:1/-1!important}
.jxp-modern.jx-checkout-page .box123{
  float:none!important;
  width:100%!important;
  height:auto!important;
  margin:0 0 6px!important;
  color:#465258!important;
  font-size:11px!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
}
.jxp-modern.jx-checkout-page .box124,
.jxp-modern.jx-checkout-page .box124a{width:100%!important;margin:0!important}

.jxp-modern.jx-checkout-page input[type=text],
.jxp-modern.jx-checkout-page input[type=password],
.jxp-modern.jx-checkout-page select{
  width:100%!important;
  height:46px!important;
  padding:0 13px!important;
  border:1px solid #dce3e6!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#263137!important;
  font-size:14px!important;
  outline:none!important;
}
.jxp-modern.jx-checkout-page input:focus,
.jxp-modern.jx-checkout-page select:focus{
  border-color:#2f8a55!important;
  box-shadow:0 0 0 3px rgba(47,138,85,.12)!important;
}

.jxp-modern.jx-checkout-page .box146{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  margin:16px 0 0!important;
}
.jxp-modern.jx-checkout-page .box126{
  float:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-height:44px!important;
  margin:0!important;
  padding:0 18px!important;
  border-radius:10px!important;
  background:#2f8a55!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:800!important;
  cursor:pointer!important;
}
.jxp-modern.jx-checkout-page .box144{
  float:none!important;
  width:auto!important;
  height:auto!important;
  color:#bd1b20!important;
  font-size:12px!important;
}

/* Resumo: compacto e sem catálogo gigante de bebidas */
.jxp-modern.jx-checkout-page .jx-order-summary{
  position:sticky!important;
  top:155px!important;
  align-self:start!important;
  width:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0 0 14px!important;
  border:1px solid #e8edef!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 10px 24px rgba(0,0,0,.11)!important;
  overflow:hidden!important;
}
.jxp-modern.jx-checkout-page .box127{
  float:none!important;
  width:100%!important;
  height:auto!important;
  margin:0!important;
  padding:18px 18px 14px!important;
  color:#20282c!important;
  font-size:19px!important;
  font-weight:800!important;
  border-bottom:1px solid #edf0f1!important;
}
.jxp-modern.jx-checkout-page .box125{
  width:100%!important;
  min-height:74px!important;
  margin:0!important;
  padding:8px 12px!important;
}
.jxp-modern.jx-checkout-page .box143{
  width:100%!important;
  max-height:300px!important;
  overflow-y:auto!important;
}
.jxp-modern.jx-checkout-page .box143 ul{margin:0!important;padding:0!important;list-style:none!important}
.jxp-modern.jx-checkout-page .box143 li{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 110px!important;
  gap:9px!important;
  align-items:center!important;
  min-height:56px!important;
  padding:8px 4px!important;
  border-bottom:1px solid #edf0f1!important;
}
.jxp-modern.jx-checkout-page .carrinho0{
  float:none!important;
  width:40px!important;
  height:40px!important;
  margin:0!important;
  border-radius:8px!important;
  overflow:hidden!important;
}
.jxp-modern.jx-checkout-page .carrinho0 img{width:40px!important;height:40px!important;object-fit:cover!important}
.jxp-modern.jx-checkout-page .carrinho1{
  float:none!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  font-size:12px!important;
  line-height:1.3!important;
}
.jxp-modern.jx-checkout-page .carrinho1 p,
.jxp-modern.jx-checkout-page .carrinho1 i{display:block!important;margin:0!important}
.jxp-modern.jx-checkout-page .carrinho1 i{margin-top:3px!important;color:#7a878c!important;font-size:10px!important}
.jxp-modern.jx-checkout-page .carrinho2{
  float:none!important;
  display:grid!important;
  grid-template-columns:24px 24px 28px 24px!important;
  gap:3px!important;
  align-items:center!important;
  justify-content:end!important;
  width:auto!important;
}
.jxp-modern.jx-checkout-page .carrinho2 input{
  width:28px!important;height:27px!important;padding:1px!important;text-align:center!important;
}
.jxp-modern.jx-checkout-page .box128{padding:22px 12px!important;text-align:center!important;color:#7d898f!important}
.jxp-modern.jx-checkout-page .box204{
  float:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:calc(100% - 24px)!important;
  height:auto!important;
  margin:8px 12px 0!important;
  padding:14px 15px!important;
  border-radius:11px!important;
  background:#f1f7f3!important;
}
.jxp-modern.jx-checkout-page .box202{
  float:none!important;
  order:2!important;
  color:#216c42!important;
  font-size:20px!important;
  font-weight:900!important;
}
.jxp-modern.jx-checkout-page .box203{
  float:none!important;
  order:1!important;
  color:#516066!important;
  font-size:12px!important;
  font-weight:800!important;
  text-transform:uppercase!important;
}

/* No checkout queremos foco: sugestões ficam escondidas. */
.jxp-modern.jx-checkout-page .jx-order-summary > .box32,
.jxp-modern.jx-checkout-page .jx-order-summary > .box77a{
  display:none!important;
}
.jxp-modern.jx-checkout-page .box77{display:none!important}

/* Oculta código/containers sociais antigos caso sobrem no DOM */
.jxp-modern.jx-checkout-page #gSignIn,
.jxp-modern.jx-checkout-page .userContent{display:none!important}

@media(max-width:980px){
  .jxp-modern.jx-checkout-page .box27{grid-template-columns:1fr!important}
  .jxp-modern.jx-checkout-page .jx-order-summary{position:static!important}
}
@media(max-width:700px){
  .jxp-modern.jx-checkout-page .jx-checkout-main{padding-top:140px}
  .jxp-modern.jx-checkout-page .jx-checkout-hero,
  .jxp-modern.jx-checkout-page .jx-checkout-layout.box79{
    width:calc(100% - 18px)!important;
  }
  .jxp-modern.jx-checkout-page .jx-checkout-hero{padding:20px 18px}
  .jxp-modern.jx-checkout-page .box121{grid-template-columns:1fr!important}
  .jxp-modern.jx-checkout-page .box122a{grid-column:auto!important}
  .jxp-modern.jx-checkout-page .box146{align-items:stretch!important}
  .jxp-modern.jx-checkout-page .box126{width:100%!important}
  .jxp-modern.jx-checkout-page .box143 li{grid-template-columns:40px minmax(0,1fr)!important}
  .jxp-modern.jx-checkout-page .carrinho2{grid-column:2!important;justify-content:start!important}
}


/* =========================================================
   Checkout V3 — correção estrutural final
   ========================================================= */

.jxp-modern.jx-checkout-page .box27{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 390px!important;
  align-items:start!important;
  gap:18px!important;
}

.jxp-modern.jx-checkout-page .jx-checkout-forms{
  min-width:0!important;
  width:100%!important;
}

.jxp-modern.jx-checkout-page .jx-order-summary{
  min-width:0!important;
  width:390px!important;
  max-width:100%!important;
}

/* box118 fica apenas como agrupador */
.jxp-modern.jx-checkout-page .box118{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}

.jxp-modern.jx-checkout-page .box118 > .box32{
  padding:16px 20px 4px!important;
  background:#fff!important;
  border-radius:16px 16px 0 0!important;
}

.jxp-modern.jx-checkout-page .box118 > .box32 + .box119{
  border-radius:0 0 16px 16px!important;
  border-top:0!important;
  margin-bottom:14px!important;
}

.jxp-modern.jx-checkout-page .box127{
  background:#2f8a55!important;
  color:#fff!important;
  border-bottom:0!important;
}

.jxp-modern.jx-checkout-page .carrinho1{
  overflow:hidden!important;
  word-break:break-word!important;
}

.jxp-modern.jx-checkout-page .carrinho1 p{
  font-weight:700!important;
  color:#263137!important;
}

.jxp-modern.jx-checkout-page .carrinho1 i{
  line-height:1.35!important;
}

.jxp-modern.jx-checkout-page .box119{
  box-shadow:0 8px 20px rgba(0,0,0,.09)!important;
}

.jxp-modern.jx-checkout-page .box126{
  min-width:120px!important;
}

@media (max-width:1050px){
  .jxp-modern.jx-checkout-page .box27{
    grid-template-columns:minmax(0,1fr) 340px!important;
  }
  .jxp-modern.jx-checkout-page .jx-order-summary{
    width:340px!important;
  }
}

@media (max-width:900px){
  .jxp-modern.jx-checkout-page .box27{
    grid-template-columns:1fr!important;
  }
  .jxp-modern.jx-checkout-page .jx-order-summary{
    position:static!important;
    width:100%!important;
  }
}


/* =========================================================
   JuxtaPED Checkout V4 — abas + recuperação de senha
   ========================================================= */

.jxp-modern.jx-checkout-page .jx-auth-card{
  width:100%;
  border:1px solid #e8edef;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,.11);
  overflow:hidden;
}

.jxp-modern.jx-checkout-page .jx-auth-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  padding:8px;
  background:#eef2f1;
  border-bottom:1px solid #e4e9e7;
}

.jxp-modern.jx-checkout-page .jx-auth-tab{
  min-height:48px;
  padding:0 14px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#647078;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  transition:.18s ease;
}

.jxp-modern.jx-checkout-page .jx-auth-tab i{
  margin-right:7px;
}

.jxp-modern.jx-checkout-page .jx-auth-tab.is-active{
  background:#fff;
  color:#286c45;
  box-shadow:0 3px 10px rgba(31,45,38,.08);
}

.jxp-modern.jx-checkout-page .jx-auth-panel{
  display:none;
}

.jxp-modern.jx-checkout-page .jx-auth-panel.is-active{
  display:block;
}

.jxp-modern.jx-checkout-page .jx-auth-panel-head{
  padding:22px 20px 2px;
}

.jxp-modern.jx-checkout-page .jx-auth-eyebrow{
  display:block;
  margin-bottom:5px;
  color:#2f8a55;
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.jxp-modern.jx-checkout-page .jx-auth-panel-head h2{
  margin:0;
  color:#1f292e;
  font-size:21px;
  line-height:1.2;
}

.jxp-modern.jx-checkout-page .jx-auth-panel-head p{
  margin:7px 0 0;
  color:#7a878c;
  font-size:13px;
  line-height:1.5;
}

.jxp-modern.jx-checkout-page .jx-auth-card .box119{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}

.jxp-modern.jx-checkout-page .jx-password-label{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.jxp-modern.jx-checkout-page .jx-forgot-link{
  color:#2f7d4a;
  font-size:11px;
  font-weight:750;
  text-transform:none;
  letter-spacing:0;
  text-decoration:none;
}

.jxp-modern.jx-checkout-page .jx-forgot-link:hover{
  text-decoration:underline;
}

.jxp-modern.jx-checkout-page .jx-login-form .box121{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

/* Recuperação de senha */
.jxp-modern.jx-password-page .jx-password-shell{
  width:min(calc(100% - 36px),620px);
  margin:0 auto;
}

.jxp-modern.jx-password-page .jx-password-card{
  padding:30px;
  border:1px solid #e8edef;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 28px rgba(0,0,0,.12);
}

.jxp-modern.jx-password-page .jx-password-icon{
  width:54px;
  height:54px;
  margin-bottom:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:15px;
  background:#eaf5ee;
  color:#2f8a55;
  font-size:24px;
}

.jxp-modern.jx-password-page .jx-password-icon.is-error{
  background:#fff0f0;
  color:#b91f24;
}

.jxp-modern.jx-password-page .jx-password-card h2{
  margin:0;
  color:#20282c;
  font-size:22px;
}

.jxp-modern.jx-password-page .jx-password-card > p{
  margin:8px 0 22px;
  color:#758289;
  font-size:13px;
  line-height:1.55;
}

.jxp-modern.jx-password-page .jx-password-card input{
  width:100%!important;
  height:48px!important;
}

.jxp-modern.jx-password-page .jx-password-field-gap{
  margin-top:14px!important;
}

.jxp-modern.jx-password-page .jx-password-primary{
  width:100%;
  min-height:46px;
  margin-top:16px;
  padding:0 18px;
  border:0;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:#2f8a55;
  color:#fff;
  font-size:13px;
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
}

.jxp-modern.jx-password-page .jx-password-primary:disabled{
  opacity:.65;
  cursor:wait;
}

.jxp-modern.jx-password-page .jx-password-secondary{
  display:block;
  margin-top:14px;
  color:#5e6b72;
  font-size:12px;
  font-weight:700;
  text-align:center;
  text-decoration:none;
}

.jxp-modern.jx-password-page .jx-password-secondary:hover{
  color:#2f7d4a;
}

.jxp-modern.jx-password-page .jx-password-message{
  width:100%!important;
  margin-top:12px!important;
}

.jxp-modern.jx-checkout-page .jx-recovery-success{
  padding:11px 12px;
  border:1px solid #cce7d6;
  border-radius:9px;
  background:#edf8f1;
  color:#256541;
  font-size:12px;
  line-height:1.45;
}

.jxp-modern.jx-checkout-page .jx-recovery-success a{
  color:#1d5c39;
}

.jxp-modern.jx-password-page .jx-password-link-button{
  margin-top:18px;
}

@media(max-width:700px){
  .jxp-modern.jx-checkout-page .jx-auth-tabs{
    padding:6px;
  }

  .jxp-modern.jx-checkout-page .jx-auth-tab{
    min-height:44px;
    font-size:12px;
  }

  .jxp-modern.jx-checkout-page .jx-login-form .box121{
    grid-template-columns:1fr!important;
  }

  .jxp-modern.jx-password-page .jx-password-shell{
    width:calc(100% - 18px);
  }

  .jxp-modern.jx-password-page .jx-password-card{
    padding:22px 18px;
  }
}
