
.jem-why,
.jem-process{
  --jem-card:#09111d;
  --jem-card-hover:#0b1321;
  --jem-text:#f2f4f7;
  --jem-muted:#b0b7c5;
  --jem-line:rgba(255,255,255,.07);
  --jem-green:#44fbb4;
  --jem-green-soft:rgba(68,251,180,.12);
  --jem-green-line:rgba(68,251,180,.22);
  width:100%;
  color:var(--jem-text);
  font-family:inherit;
}
.jem-why *,
.jem-process *{box-sizing:border-box}

.jem-why-head,
.jem-process-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:32px;
  margin:0 6px 22px;
}
.jem-why-head-left,
.jem-process-head-left{max-width:860px}

.jem-eyebrow,
.jem-process-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
  color:var(--jem-green);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.16em;
}
.jem-eyebrow:before,
.jem-process-eyebrow:before{
  content:"";
  width:24px;
  height:2px;
  border-radius:999px;
  background:var(--jem-green);
}

.jem-why h2,
.jem-process h2{
  margin:0;
  color:var(--jem-text);
  font-size:clamp(30px,3.3vw,56px);
  line-height:1.01;
  letter-spacing:-.045em;
  font-weight:850;
}
.jem-why h2 span,
.jem-process h2 span{color:var(--jem-green)}

.jem-why-intro,
.jem-process-intro{
  width:min(420px,100%);
  margin:0;
  color:var(--jem-muted);
  font-size:14px;
  line-height:1.65;
}

.jem-why-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}

.jem-card,
.jem-step{
  position:relative;
  min-height:178px;
  padding:20px 18px 18px;
  border-radius:28px;
  border:1px solid var(--jem-line);
  background:
    radial-gradient(circle at 100% 0%,rgba(255,255,255,.03),transparent 28%),
    linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.003)),
    var(--jem-card);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02),0 10px 30px rgba(0,0,0,.18);
  transition:transform .22s ease,border-color .22s ease,background .22s ease;
}

.jem-card:hover,
.jem-step:hover{
  transform:translateY(-3px);
  border-color:rgba(68,251,180,.18);
  background:
    linear-gradient(180deg,rgba(68,251,180,.035),rgba(255,255,255,.003)),
    var(--jem-card-hover);
}

.jem-card-top,
.jem-step-top{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:16px;
}

.jem-number,
.jem-step-number{
  width:56px;
  height:56px;
  flex:0 0 56px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:var(--jem-green-soft);
  border:1px solid var(--jem-green-line);
  color:var(--jem-green);
  font-size:22px;
  font-weight:900;
}

.jem-badge,
.jem-step-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
  color:#f7f8fb;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}

.jem-card h3,
.jem-step h3{
  margin:0 0 8px;
  color:var(--jem-text);
  font-size:16px;
  line-height:1.15;
  letter-spacing:-.02em;
  font-weight:850;
}

.jem-card p,
.jem-step p{
  margin:0;
  color:var(--jem-muted);
  font-size:13.5px;
  line-height:1.5;
}

.jem-card-highlight,
.jem-step-final{
  border-color:rgba(68,251,180,.22);
  background:
    radial-gradient(circle at 0% 0%,rgba(68,251,180,.10),transparent 34%),
    linear-gradient(180deg,rgba(68,251,180,.045),rgba(255,255,255,.003)),
    var(--jem-card);
}

.jem-card-highlight:after,
.jem-step-final:after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:0;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,var(--jem-green),transparent);
  opacity:.8;
}

/* Como Funciona */
.jem-process-head{
  gap:40px;
  margin-bottom:34px;
}
.jem-process-head-left{max-width:920px}
.jem-process-intro{
  width:min(520px,100%);
  font-size:15px;
  line-height:1.7;
}
.jem-process-track{
  position:relative;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px;
}
.jem-process-track:before{
  content:"";
  position:absolute;
  z-index:0;
  top:29px;
  left:4%;
  right:4%;
  height:2px;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(68,251,180,.16) 8%,
    rgba(68,251,180,.30) 50%,
    rgba(68,251,180,.16) 92%,
    transparent
  );
}
.jem-step{
  z-index:1;
  min-height:300px;
  padding:22px 18px 20px;
  border-radius:24px;
}
.jem-step-top{
  justify-content:space-between;
  margin-bottom:26px;
}
.jem-step-number{
  width:62px;
  height:62px;
  flex:0 0 62px;
  font-size:23px;
}
.jem-step-badge{
  min-height:31px;
  padding:0 11px;
  font-size:10px;
}
.jem-step h3{
  margin-bottom:11px;
  font-size:18px;
}
.jem-step p{
  line-height:1.62;
}
.jem-process-note{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:22px;
  padding:17px 20px;
  border-radius:16px;
  border:1px solid rgba(68,251,180,.12);
  background:rgba(68,251,180,.035);
}
.jem-process-note strong{
  display:block;
  margin-bottom:4px;
  font-size:14px;
  color:var(--jem-text);
}
.jem-process-note span{
  color:var(--jem-muted);
  font-size:12.5px;
}
.jem-process-note-badge{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 13px;
  border-radius:999px;
  background:rgba(68,251,180,.09);
  border:1px solid rgba(68,251,180,.18);
  color:var(--jem-green);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

@media(max-width:980px){
  .jem-why-head,
  .jem-process-head{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
  }
  .jem-why-intro,
  .jem-process-intro{
    width:100%;
    max-width:760px;
  }
  .jem-process-track:before{display:none}
}

@media(max-width:640px){
  .jem-why-head{margin-left:0;margin-right:0}
  .jem-why h2,
  .jem-process h2{font-size:35px}
  .jem-card,
  .jem-step{min-height:auto}
  .jem-number,
  .jem-step-number{
    width:50px;
    height:50px;
    flex-basis:50px;
    font-size:20px;
  }
  .jem-badge,
  .jem-step-badge{
    min-height:36px;
    padding:0 14px;
    font-size:10px;
  }
  .jem-process-note{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* =========================================================
   CATEGORIAS SHOWCASE
========================================================= */
.jem-catshow{
  --jem-green:#44fbb4;
  --jem-cat-bg:#0a111d;
  --jem-cat-card-width:250px;
  --jem-cat-card-height:390px;
  --jem-cat-title-height:60px;
  width:100%;
  color:#f2f4f7;
  font-family:inherit;
}
.jem-catshow *{box-sizing:border-box}

.jem-catshow-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:28px;
  margin-bottom:24px;
}
.jem-catshow-head-left{max-width:760px}
.jem-catshow-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:9px;
  color:var(--jem-green);
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.jem-catshow-eyebrow:before{
  content:"";
  width:22px;
  height:2px;
  border-radius:999px;
  background:var(--jem-green);
}
.jem-catshow h2{
  margin:0;
  color:#f2f4f7;
  font-size:clamp(36px,4vw,62px);
  line-height:1.02;
  letter-spacing:-.045em;
  font-weight:850;
}
.jem-catshow h2 span{color:var(--jem-green)}
.jem-catshow-intro{
  margin:14px 0 0;
  color:#a4adbb;
  font-size:13px;
  line-height:1.6;
}
.jem-catshow-nav{
  display:flex;
  gap:10px;
  flex:0 0 auto;
}
.jem-catshow-btn{
  width:50px;
  height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(68,251,180,.28);
  background:rgba(68,251,180,.09);
  color:var(--jem-green);
  cursor:pointer;
  transition:.2s ease;
}
.jem-catshow-btn:hover{
  transform:translateY(-2px);
  background:rgba(68,251,180,.15);
}
.jem-catshow-btn span{
  font-size:31px;
  line-height:1;
  transform:translateY(-1px);
}

.jem-catshow-track-wrap{
  width:100%;
  overflow:hidden;
}
.jem-catshow-track{
  display:flex;
  align-items:stretch;
  gap:18px;
  width:max-content;
  overflow:visible;
  padding:5px 2px 12px;
  transform:translate3d(0,0,0);
  will-change:transform;
}

.jem-cat-item{
  flex:0 0 var(--jem-cat-card-width);
  width:var(--jem-cat-card-width);
}
.jem-cat-card-link{
  display:block;
  color:inherit;
  text-decoration:none;
}
.jem-cat-card{
  width:100%;
  height:var(--jem-cat-card-height);
  overflow:hidden;
  position:relative;
  border-radius:18px;
  background:var(--jem-cat-bg);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 14px 34px rgba(0,0,0,.20);
  transition:transform .24s ease,border-color .24s ease;
}
.jem-cat-card:hover{
  transform:translateY(-5px);
  border-color:rgba(68,251,180,.22);
}
.jem-cat-card-media{
  width:100%;
  height:calc(var(--jem-cat-card-height) - var(--jem-cat-title-height));
  position:relative;
  overflow:hidden;
  background:#101827;
}
.jem-cat-card-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .45s ease;
}
.jem-cat-card:hover .jem-cat-card-media img{
  transform:scale(1.035);
}
.jem-cat-card-media:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:26%;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.26));
  pointer-events:none;
}
.jem-cat-card-placeholder{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  text-align:center;
  font-weight:800;
  background:
    radial-gradient(circle at 30% 20%,rgba(68,251,180,.18),transparent 32%),
    radial-gradient(circle at 78% 78%,rgba(42,14,63,.32),transparent 36%),
    linear-gradient(180deg,#111a29,#09111d);
}
.jem-cat-card-title{
  height:var(--jem-cat-title-height);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:9px 12px;
  text-align:center;
  color:#f2f4f7;
  font-size:16px;
  font-weight:800;
  line-height:1.15;
}

@media(max-width:900px){
  .jem-catshow-head{
    flex-direction:column;
    align-items:flex-start;
  }
}
@media(max-width:640px){
  .jem-catshow-nav{
    display:none !important;
  }

  .jem-catshow h2{font-size:40px}
  .jem-catshow{
    --jem-cat-card-width:220px;
    --jem-cat-card-height:345px;
    --jem-cat-title-height:54px;
  }
  .jem-catshow-btn{
    width:44px;
    height:44px;
  }
}

/* =========================================================
   POR TRÁS DA JONNER
========================================================= */
.jem-about{
  --jem-green:#44fbb4;
  --jem-about-bg:#05070d;
  --jem-about-photo-shift:0px;
  --jem-about-photo-shift-y:0px;
  position:relative;
  isolation:isolate;
  width:100%;
  min-height:620px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding:60px 72px;
  background-color:var(--jem-about-bg);
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center center;
  color:#f2f4f7;
  font-family:inherit;
}
.jem-about *{box-sizing:border-box}
.jem-about:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(0,0,0,.00) 0%,
    rgba(0,0,0,.08) 40%,
    rgba(0,0,0,var(--jem-about-dark,.48)) 100%
  );
}
.jem-about-person{
  position:absolute;
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  z-index:3;
  left:1%;
  bottom:0;
  width:48%;
  max-width:none;
  max-height:108%;
  object-fit:contain;
  object-position:left bottom;
  pointer-events:none;
  transform:translate3d(
    var(--jem-about-photo-shift,0px),
    var(--jem-about-photo-shift-y,0px),
    0
  );
  will-change:transform;
  filter:drop-shadow(0 20px 45px rgba(0,0,0,.24));
}
.jem-about-copy{
  position:relative;
  z-index:4;
  width:46%;
  max-width:760px;
}
.jem-about-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:12px;
  color:var(--jem-green);
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.jem-about-eyebrow:before{
  content:"";
  width:24px;
  height:2px;
  border-radius:999px;
  background:var(--jem-green);
}
.jem-about h2{
  margin:0 0 24px;
  color:#f2f4f7;
  font-size:clamp(38px,4vw,68px);
  line-height:1.02;
  letter-spacing:-.045em;
  font-weight:850;
}
.jem-about h2 span{
  display:block;
  color:var(--jem-green);
}
.jem-about-text{
  color:#b0b7c5;
  font-size:16px;
  line-height:1.72;
}
.jem-about-text p{
  margin:0 0 18px;
}
.jem-about-text p:last-child{margin-bottom:0}

.jem-about-whatsapp-wrap{
  display:flex;
  width:100%;
  min-width:0;
  margin-top:28px;
  justify-content:flex-start;
  overflow:visible;
}

.jem-about-whatsapp{
  position:relative;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  max-width:100%;
  min-width:190px;
  min-height:48px;
  margin:0 !important;

  /* Espaço igual dos dois lados mantém o texto centralizado no botão inteiro */
  padding:0 46px !important;

  border:0 !important;
  border-radius:14px;
  background:#44fbb4;
  color:#06110d;
  text-decoration:none !important;
  font-size:14px;
  font-weight:850;
  line-height:1 !important;
  box-sizing:border-box !important;
  white-space:nowrap;
  overflow:visible;
  text-align:center;

  box-shadow:0 12px 30px rgba(68,251,180,.10);
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
}

.jem-about-whatsapp:hover{
  color:#06110d;
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(68,251,180,.16);
  filter:brightness(1.03);
}

.jem-about-whatsapp-icon{
  position:absolute;
  left:18px;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  margin:0;
  font-size:17px;
  line-height:1;
  pointer-events:none;
}

.jem-about-whatsapp-label{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  height:100%;
  margin:0;
  padding:0;
  line-height:1.1;
  text-align:center;
}

@media(max-width:980px){
  .jem-about{
    min-height:620px;
    padding:48px 34px;
  }
  .jem-about-copy{width:50%}
  .jem-about-person{
    width:50%;
    left:-3%;
  }
}
@media(max-width:700px){
  .jem-about{
    min-height:760px;
    display:block;
    padding:28px 20px 34px;
  }
  .jem-about:after{
    background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.50) 55%,rgba(0,0,0,.84) 78%);
  }
  .jem-about-person{
    top:auto;
    width:84%;
    height:54%;
    object-position:center bottom;
  }
  .jem-about-copy{
    position:absolute;
    left:20px;
    right:20px;
    bottom:34px;
    width:auto !important;
    max-width:none;
  }
  .jem-about h2{
    font-size:38px;
    margin-bottom:16px;
  }
  .jem-about-text{
    font-size:14px;
    line-height:1.6;
  }
  .jem-about-whatsapp-wrap{
    margin-top:20px;
  }
}


/* =========================================================
   UTILIDADE FULL WIDTH
========================================================= */
.jem-fullbleed{
  position:relative;
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
  overflow:hidden;
}

/* =========================================================
   MODELOS RECÉM-CONCLUÍDOS
========================================================= */
.jem-recent{
  --jem-green:#44fbb4;
  --jem-recent-card:#0a111d;
  width:100%;
  padding:70px 54px;
  color:#f2f4f7;
  font-family:inherit;
}
.jem-recent *{box-sizing:border-box}
.jem-recent-inner{
  width:100%;
  max-width:1820px;
  margin:0 auto;
}
.jem-recent-head{
  max-width:820px;
  margin-bottom:30px;
}
.jem-recent-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:9px;
  color:var(--jem-green);
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.jem-recent-eyebrow:before{
  content:"";
  width:22px;
  height:2px;
  border-radius:999px;
  background:var(--jem-green);
}
.jem-recent h2{
  margin:0;
  color:#f2f4f7;
  font-size:clamp(36px,3.7vw,58px);
  line-height:1.02;
  letter-spacing:-.04em;
  font-weight:850;
}
.jem-recent h2 span{color:var(--jem-green)}
.jem-recent-head p{
  margin:12px 0 0;
  color:#a4adbb;
  font-size:14px;
  line-height:1.6;
}
.jem-recent-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:18px;
}
.jem-recent-card{
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.004)),
    var(--jem-recent-card);
  box-shadow:0 14px 34px rgba(0,0,0,.16);
  transition:transform .22s ease,border-color .22s ease;
}
.jem-recent-card:hover{
  transform:translateY(-4px);
  border-color:rgba(68,251,180,.19);
}
.jem-recent-image{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:330px;
  margin:0;
  padding:12px;
  overflow:hidden;
  border:0;
  background:#080d16;
  cursor:default;
}
button.jem-recent-image{
  cursor:zoom-in;
}
.jem-recent-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
}
.jem-recent-placeholder{
  color:#788394;
  font-size:12px;
}
.jem-recent-zoom{
  position:absolute;
  right:14px;
  bottom:14px;
  width:36px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(5,9,20,.82);
  border:1px solid rgba(68,251,180,.22);
  color:var(--jem-green);
  font-size:17px;
  opacity:0;
  transform:translateY(4px);
  transition:.22s ease;
}
.jem-recent-card:hover .jem-recent-zoom{
  opacity:1;
  transform:translateY(0);
}
.jem-recent-content{
  padding:17px 16px 18px;
}
.jem-recent-card h3{
  margin:0;
  color:#f2f4f7;
  font-size:17px;
  line-height:1.2;
  font-weight:800;
}
.jem-recent-card p{
  margin:9px 0 0;
  color:#8791a0;
  font-size:12px;
  line-height:1.45;
}

/* Lightbox */
.jem-lightbox{
  position:fixed;
  inset:0;
  z-index:2147483600;
  display:none;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:rgba(2,5,10,.90);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.jem-lightbox.is-open{display:flex}
.jem-lightbox-dialog{
  position:relative;
  max-width:min(94vw,1400px);
  max-height:92vh;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.jem-lightbox-image{
  display:block;
  max-width:94vw;
  max-height:84vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:12px;
  box-shadow:0 26px 90px rgba(0,0,0,.55);
}
.jem-lightbox-title{
  margin-top:14px;
  color:#f2f4f7;
  font-size:14px;
  font-weight:700;
  text-align:center;
}
.jem-lightbox-close{
  position:absolute;
  top:-18px;
  right:-18px;
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:#0b111b;
  color:#f2f4f7;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}

/* =========================================================
   FAQ FULL WIDTH
========================================================= */
.jem-faq{
  --jem-green:#44fbb4;
  --jem-faq-card:#0a111d;
  width:100%;
  padding:70px 54px;
  color:#f2f4f7;
  font-family:inherit;
}
.jem-faq *{box-sizing:border-box}
.jem-faq-inner{
  width:100%;
  max-width:1820px;
  margin:0 auto;
}
.jem-faq-head{
  margin-bottom:28px;
}
.jem-faq-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:9px;
  color:var(--jem-green);
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.jem-faq-eyebrow:before{
  content:"";
  width:22px;
  height:2px;
  border-radius:999px;
  background:var(--jem-green);
}
.jem-faq h2{
  margin:0;
  color:#f2f4f7;
  font-size:clamp(36px,3.7vw,58px);
  line-height:1.02;
  letter-spacing:-.04em;
  font-weight:850;
}
.jem-faq h2 span{color:#8f98a8}
.jem-faq-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.jem-faq-item{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:var(--jem-faq-card);
  transition:border-color .2s ease,background .2s ease;
}
.jem-faq-item[open]{
  border-color:rgba(68,251,180,.22);
  background:
    linear-gradient(180deg,rgba(68,251,180,.035),rgba(255,255,255,.004)),
    var(--jem-faq-card);
}
.jem-faq-item summary{
  list-style:none;
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:20px 20px;
  cursor:pointer;
  color:#f2f4f7;
  font-size:15px;
  line-height:1.25;
  font-weight:800;
}
.jem-faq-item summary::-webkit-details-marker{display:none}
.jem-faq-question{
  min-width:0;
}
.jem-faq-icon{
  position:relative;
  flex:0 0 22px;
  width:22px;
  height:22px;
}
.jem-faq-icon:before,
.jem-faq-icon:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:14px;
  height:2px;
  border-radius:999px;
  background:var(--jem-green);
  transform:translate(-50%,-50%);
}
.jem-faq-icon:after{
  transform:translate(-50%,-50%) rotate(90deg);
  transition:transform .18s ease,opacity .18s ease;
}
.jem-faq-item[open] .jem-faq-icon:after{
  opacity:0;
  transform:translate(-50%,-50%) rotate(0deg);
}
.jem-faq-answer{
  padding:0 20px 20px;
  color:#9da6b5;
  font-size:13.5px;
  line-height:1.65;
}
.jem-faq-answer p{
  margin:0;
}

@media(max-width:1100px){
  .jem-recent-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .jem-faq-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:640px){
  .jem-fullbleed{
    width:100% !important;
  }
  .jem-recent,
  .jem-faq{
    padding:52px 14px;
  }
  .jem-recent-grid,
  .jem-faq-grid{
    grid-template-columns:1fr;
  }
  .jem-recent-image{
    height:360px;
  }
  .jem-lightbox{
    padding:18px;
  }
  .jem-lightbox-close{
    top:8px;
    right:8px;
  }
}


/* =========================================================
   MOBILE v2.8 — POR QUE A JONNER
   Somente celular. Desktop permanece inalterado.
========================================================= */
@media (max-width: 767px){

  .jem-why .jem-why-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  .jem-why .jem-why-head{
    margin:0 0 16px !important;
    gap:8px !important;
  }

  .jem-why .jem-card{
    min-width:0;
    min-height:auto !important;
    padding:13px 11px 14px !important;
    border-radius:20px !important;
  }

  .jem-why .jem-card-top{
    gap:7px !important;
    margin-bottom:12px !important;
    align-items:center;
  }

  .jem-why .jem-number{
    width:42px !important;
    height:42px !important;
    flex:0 0 42px !important;
    border-radius:13px !important;
    font-size:17px !important;
  }

  .jem-why .jem-badge{
    min-width:0;
    min-height:28px !important;
    padding:0 9px !important;
    font-size:8px !important;
    letter-spacing:.055em !important;
    white-space:nowrap;
  }

  .jem-why .jem-card h3{
    margin-bottom:7px !important;
    font-size:14px !important;
    line-height:1.15 !important;
    letter-spacing:-.018em !important;
  }

  .jem-why .jem-card p{
    font-size:11.5px !important;
    line-height:1.42 !important;
  }

  .jem-why .jem-why-intro{
    font-size:12px !important;
    line-height:1.5 !important;
  }
}


/* =========================================================
   v2.9 — CORREÇÃO DE ALINHAMENTO DOS 2 NOVOS MÓDULOS
========================================================= */

.elementor-widget-jem-jonner-recentes,
.elementor-widget-jem-jonner-faq,
.elementor-widget-jem-jonner-recentes > .elementor-widget-container,
.elementor-widget-jem-jonner-faq > .elementor-widget-container{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
  overflow:visible !important;
}

.jem-recent,
.jem-faq{
  position:relative;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
}

.jem-recent-inner,
.jem-faq-inner{
  width:100%;
  max-width:100%;
  margin:0 auto;
  padding:0;
}

.jem-recent-grid,
.jem-faq-grid{
  width:100%;
  min-width:0;
}


/* =========================================================
   JONNER v3.0 — OTIMIZAÇÃO MOBILE COMPLETA
   SOMENTE <= 767px. DESKTOP NÃO É ALTERADO.
========================================================= */
@media (max-width: 767px){

  /* -------------------------------------------------------
     BASE: títulos e microtextos
  ------------------------------------------------------- */
  .jem-eyebrow,
  .jem-process-eyebrow,
  .jem-catshow-eyebrow,
  .jem-about-eyebrow,
  .jem-recent-eyebrow,
  .jem-faq-eyebrow{
    font-size:9px !important;
    letter-spacing:.11em !important;
    margin-bottom:7px !important;
  }

  .jem-eyebrow:before,
  .jem-process-eyebrow:before,
  .jem-catshow-eyebrow:before,
  .jem-about-eyebrow:before,
  .jem-recent-eyebrow:before,
  .jem-faq-eyebrow:before{
    width:17px !important;
  }

  /* -------------------------------------------------------
     1. POR QUE A JONNER — 2 × 5
  ------------------------------------------------------- */
  .jem-why .jem-why-head{
    margin:0 0 14px !important;
    gap:6px !important;
  }

  .jem-why h2{
    font-size:30px !important;
    line-height:.98 !important;
    letter-spacing:-.04em !important;
  }

  .jem-why .jem-why-intro{
    font-size:11px !important;
    line-height:1.42 !important;
    margin-top:2px !important;
  }

  .jem-why .jem-why-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px !important;
  }

  .jem-why .jem-card{
    min-height:auto !important;
    padding:11px 10px 12px !important;
    border-radius:16px !important;
    box-shadow:0 6px 16px rgba(0,0,0,.14) !important;
  }

  .jem-why .jem-card-top{
    gap:6px !important;
    margin-bottom:9px !important;
  }

  .jem-why .jem-number{
    width:36px !important;
    height:36px !important;
    flex:0 0 36px !important;
    border-radius:11px !important;
    font-size:15px !important;
  }

  .jem-why .jem-badge{
    min-height:25px !important;
    padding:0 7px !important;
    font-size:7px !important;
    letter-spacing:.045em !important;
  }

  .jem-why .jem-card h3{
    margin-bottom:5px !important;
    font-size:12.5px !important;
    line-height:1.13 !important;
  }

  .jem-why .jem-card p{
    font-size:10.3px !important;
    line-height:1.36 !important;
  }

  /* -------------------------------------------------------
     2. COMO FUNCIONA — 2 × 3
  ------------------------------------------------------- */
  .jem-process-head{
    margin-bottom:14px !important;
    gap:7px !important;
  }

  .jem-process h2{
    font-size:30px !important;
    line-height:.99 !important;
    letter-spacing:-.04em !important;
  }

  .jem-process-intro{
    font-size:11px !important;
    line-height:1.42 !important;
  }

  .jem-process-track{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px !important;
  }

  .jem-process-track:before{
    display:none !important;
  }

  .jem-step{
    min-height:auto !important;
    padding:11px 10px 12px !important;
    border-radius:16px !important;
    box-shadow:0 6px 16px rgba(0,0,0,.14) !important;
  }

  .jem-step-top{
    gap:6px !important;
    margin-bottom:9px !important;
  }

  .jem-step-number{
    width:36px !important;
    height:36px !important;
    flex:0 0 36px !important;
    border-radius:11px !important;
    font-size:15px !important;
  }

  .jem-step-badge{
    min-height:24px !important;
    padding:0 7px !important;
    font-size:7px !important;
    letter-spacing:.04em !important;
  }

  .jem-step h3{
    margin-bottom:5px !important;
    font-size:12.5px !important;
    line-height:1.13 !important;
  }

  .jem-step p{
    font-size:10.2px !important;
    line-height:1.36 !important;
  }

  .jem-process-note{
    margin-top:8px !important;
    padding:10px 11px !important;
    border-radius:13px !important;
    gap:4px !important;
  }

  .jem-process-note strong{
    font-size:11px !important;
    margin-bottom:2px !important;
  }

  .jem-process-note span{
    font-size:9.5px !important;
    line-height:1.35 !important;
  }

  .jem-process-note-badge{
    display:none !important;
  }

  /* -------------------------------------------------------
     3. CATEGORIAS — CARROSSEL COMPACTO
     Quase 2 cards visíveis para estimular navegação.
  ------------------------------------------------------- */
  .jem-catshow-head{
    margin-bottom:13px !important;
    gap:6px !important;
  }

  .jem-catshow h2{
    font-size:30px !important;
    line-height:.99 !important;
    letter-spacing:-.04em !important;
  }

  .jem-catshow-intro{
    margin-top:8px !important;
    font-size:10.5px !important;
    line-height:1.4 !important;
  }

  .jem-catshow-nav{
    display:none !important;
  }

  .jem-catshow{
    --jem-cat-card-width:184px !important;
    --jem-cat-card-height:290px !important;
    --jem-cat-title-height:46px !important;
  }

  .jem-catshow-track{
    gap:8px !important;
    padding:3px 1px 7px !important;
  }

  .jem-cat-card{
    border-radius:14px !important;
    box-shadow:0 7px 18px rgba(0,0,0,.16) !important;
  }

  .jem-cat-card-title{
    padding:6px 8px !important;
    font-size:12px !important;
    line-height:1.12 !important;
  }

  /* -------------------------------------------------------
     4. POR TRÁS DA JONNER — MAIS BAIXO E DIRETO
  ------------------------------------------------------- */
  .jem-about{
    min-height:620px !important;
    height:auto !important;
    padding:18px 14px 22px !important;
  }

  .jem-about:after{
    background:linear-gradient(
      180deg,
      rgba(0,0,0,.02),
      rgba(0,0,0,.38) 42%,
      rgba(0,0,0,.83) 66%
    ) !important;
  }

  .jem-about-person{
    top:0 !important;
    bottom:auto !important;
    left:50% !important;
    width:72% !important;
    height:43% !important;
    max-height:none !important;
    transform:translate3d(
      calc(-50% + var(--jem-about-photo-shift,0px)),
      0,
      0
    ) !important;
    object-position:center bottom !important;
  }

  .jem-about-copy{
    left:14px !important;
    right:14px !important;
    bottom:22px !important;
    width:auto !important;
    max-width:none !important;
  }

  .jem-about h2{
    margin-bottom:12px !important;
    font-size:30px !important;
    line-height:.99 !important;
    letter-spacing:-.04em !important;
  }

  .jem-about-text{
    font-size:11.5px !important;
    line-height:1.48 !important;
  }

  .jem-about-text p{
    margin-bottom:9px !important;
  }

  .jem-about-whatsapp-wrap{
    margin-top:13px !important;
  }

  .jem-about-whatsapp{
    min-width:168px !important;
    min-height:42px !important;
    padding:0 40px !important;
    font-size:11.5px !important;
    border-radius:12px !important;
  }

  .jem-about-whatsapp-icon{
    left:15px !important;
    font-size:14px !important;
  }

  /* -------------------------------------------------------
     5. MODELOS RECÉM-CONCLUÍDOS — 2 × 3
  ------------------------------------------------------- */
  .jem-recent{
    padding:30px 10px !important;
  }

  .jem-recent-head{
    margin-bottom:14px !important;
  }

  .jem-recent h2{
    font-size:30px !important;
    line-height:.99 !important;
    letter-spacing:-.04em !important;
  }

  .jem-recent-head p{
    margin-top:7px !important;
    font-size:10.5px !important;
    line-height:1.4 !important;
  }

  .jem-recent-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  .jem-recent-card{
    border-radius:14px !important;
    box-shadow:0 6px 16px rgba(0,0,0,.14) !important;
  }

  .jem-recent-image{
    height:185px !important;
    padding:7px !important;
  }

  .jem-recent-content{
    padding:10px 9px 11px !important;
  }

  .jem-recent-card h3{
    font-size:11.5px !important;
    line-height:1.18 !important;
  }

  .jem-recent-card p{
    margin-top:5px !important;
    font-size:9px !important;
    line-height:1.3 !important;
  }

  .jem-recent-zoom{
    right:7px !important;
    bottom:7px !important;
    width:28px !important;
    height:28px !important;
    font-size:13px !important;
    opacity:1 !important;
  }

  /* -------------------------------------------------------
     6. FAQ — 2 × 3
     Perguntas fechadas inicialmente via JS no mobile.
  ------------------------------------------------------- */
  .jem-faq{
    padding:30px 10px !important;
  }

  .jem-faq-head{
    margin-bottom:14px !important;
  }

  .jem-faq h2{
    font-size:30px !important;
    line-height:.99 !important;
    letter-spacing:-.04em !important;
  }

  .jem-faq-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    align-items:start !important;
  }

  .jem-faq-item{
    border-radius:13px !important;
  }

  .jem-faq-item summary{
    min-height:60px !important;
    padding:11px 10px !important;
    gap:7px !important;
    font-size:10.8px !important;
    line-height:1.22 !important;
  }

  .jem-faq-icon{
    flex:0 0 17px !important;
    width:17px !important;
    height:17px !important;
  }

  .jem-faq-icon:before,
  .jem-faq-icon:after{
    width:11px !important;
  }

  .jem-faq-answer{
    padding:0 10px 11px !important;
    font-size:9.8px !important;
    line-height:1.45 !important;
  }

  /* Lightbox continua confortável no celular */
  .jem-lightbox{
    padding:14px !important;
  }

  .jem-lightbox-close{
    top:7px !important;
    right:7px !important;
  }
}


/* =========================================================
   JONNER v3.1 — FULL WIDTH REAL NO DESKTOP
   Somente:
   - Modelos recém-concluídos
   - Dúvidas Frequentes

   O widget rompe o container do Elementor e ocupa a viewport.
   Mobile continua usando o comportamento otimizado da v3.0.
========================================================= */
@media (min-width: 768px){

  .elementor-widget-jem-jonner-recentes,
  .elementor-widget-jem-jonner-faq{
    position:relative !important;
    left:calc(50% - 50vw) !important;
    width:100vw !important;
    max-width:100vw !important;
    min-width:100vw !important;
    margin-left:0 !important;
    margin-right:0 !important;
    transform:none !important;
  }

  .elementor-widget-jem-jonner-recentes > .elementor-widget-container,
  .elementor-widget-jem-jonner-faq > .elementor-widget-container{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  .elementor-widget-jem-jonner-recentes .jem-recent,
  .elementor-widget-jem-jonner-faq .jem-faq,
  .elementor-widget-jem-jonner-recentes .jem-fullbleed,
  .elementor-widget-jem-jonner-faq .jem-fullbleed{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
  }

  /*
   * O fundo ocupa a tela toda, enquanto o conteúdo ainda tem respiro
   * lateral para não ficar colado nas bordas.
   */
  .elementor-widget-jem-jonner-recentes .jem-recent-inner,
  .elementor-widget-jem-jonner-faq .jem-faq-inner{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
  }
}


/* =========================================================
   JONNER v3.2
   1) Corrige hover rosa do módulo Recentes
   2) Mobile "Por que a Jonner?" em largura total
   3) Mobile Categorias com ~4 cards visíveis
========================================================= */

/* ---------- CORREÇÃO GLOBAL: botão da imagem nunca herda hover do tema ---------- */
button.jem-recent-image,
button.jem-recent-image:hover,
button.jem-recent-image:focus,
button.jem-recent-image:focus-visible,
button.jem-recent-image:active{
  appearance:none !important;
  -webkit-appearance:none !important;
  background:#080d16 !important;
  background-color:#080d16 !important;
  color:inherit !important;
  border:0 !important;
  outline:none !important;
  box-shadow:none !important;
  filter:none !important;
}

/* O hover fica somente no card/borda, não na área da imagem */
.jem-recent-card:hover .jem-recent-image{
  background:#080d16 !important;
}

/* =========================================================
   MOBILE <= 767px
========================================================= */
@media (max-width:767px){

  /* -------------------------------------------------------
     POR QUE A JONNER
     Rompe o container estreito do Elementor no celular.
     Mantém 2 colunas, mas com largura semelhante ao
     "Como Funciona".
  ------------------------------------------------------- */
  .elementor-widget-jem-jonner-por-que{
    position:relative !important;
    left:50% !important;
    width:100vw !important;
    max-width:100vw !important;
    min-width:100vw !important;
    margin-left:-50vw !important;
    margin-right:0 !important;
  }

  .elementor-widget-jem-jonner-por-que > .elementor-widget-container{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  .elementor-widget-jem-jonner-por-que .jem-why{
    width:100% !important;
    max-width:100% !important;
    padding:0 16px !important;
    margin:0 !important;
  }

  .jem-why .jem-why-head{
    margin:0 0 18px !important;
    gap:8px !important;
  }

  .jem-why h2{
    font-size:31px !important;
    line-height:1.00 !important;
  }

  .jem-why .jem-why-intro{
    font-size:11px !important;
    line-height:1.42 !important;
  }

  .jem-why .jem-why-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }

  .jem-why .jem-card{
    min-width:0 !important;
    min-height:auto !important;
    padding:13px 12px 14px !important;
    border-radius:18px !important;
  }

  .jem-why .jem-card-top{
    gap:7px !important;
    margin-bottom:11px !important;
  }

  .jem-why .jem-number{
    width:42px !important;
    height:42px !important;
    flex:0 0 42px !important;
    border-radius:13px !important;
    font-size:17px !important;
  }

  .jem-why .jem-badge{
    min-height:27px !important;
    padding:0 8px !important;
    font-size:7.5px !important;
    letter-spacing:.045em !important;
  }

  .jem-why .jem-card h3{
    margin-bottom:7px !important;
    font-size:13.5px !important;
    line-height:1.16 !important;
  }

  .jem-why .jem-card p{
    font-size:10.8px !important;
    line-height:1.40 !important;
  }

  /* -------------------------------------------------------
     CATEGORIAS SHOWCASE
     Full-width no celular + 4 cards visíveis.
  ------------------------------------------------------- */
  .elementor-widget-jem-jonner-categorias{
    position:relative !important;
    left:50% !important;
    width:100vw !important;
    max-width:100vw !important;
    min-width:100vw !important;
    margin-left:-50vw !important;
    margin-right:0 !important;
  }

  .elementor-widget-jem-jonner-categorias > .elementor-widget-container{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  .elementor-widget-jem-jonner-categorias .jem-catshow{
    width:100% !important;
    max-width:100% !important;
    padding:0 12px !important;
    margin:0 !important;

    /* 4 cards exatos:
       viewport - 24px padding - 18px (3 gaps de 6px) */
    --jem-cat-card-width:calc((100vw - 42px) / 4) !important;
    --jem-cat-card-height:145px !important;
    --jem-cat-title-height:28px !important;
  }

  .jem-catshow-head{
    margin-bottom:12px !important;
  }

  .jem-catshow h2{
    font-size:30px !important;
    line-height:1 !important;
  }

  .jem-catshow-intro{
    margin-top:7px !important;
    font-size:10px !important;
    line-height:1.35 !important;
  }

  .jem-catshow-nav{
    display:none !important;
  }

  .jem-catshow-track{
    gap:6px !important;
    padding:2px 0 6px !important;
  }

  .jem-cat-item{
    flex:0 0 var(--jem-cat-card-width) !important;
    width:var(--jem-cat-card-width) !important;
  }

  .jem-cat-card{
    height:var(--jem-cat-card-height) !important;
    border-radius:10px !important;
    box-shadow:0 5px 12px rgba(0,0,0,.14) !important;
  }

  .jem-cat-card-media{
    height:calc(var(--jem-cat-card-height) - var(--jem-cat-title-height)) !important;
  }

  .jem-cat-card-title{
    height:var(--jem-cat-title-height) !important;
    padding:3px 3px !important;
    font-size:7.5px !important;
    line-height:1.05 !important;
    font-weight:800 !important;
  }

  /* No touch não precisamos do efeito de levantar */
  .jem-cat-card:hover{
    transform:none !important;
  }
}


/* =========================================================
   JONNER v3.3 — POSIÇÃO PADRÃO DA FOTO "POR TRÁS DA JONNER"
   Move o PNG para a direita para cobrir melhor a composição.
========================================================= */

.jem-about{
  --jem-about-photo-shift:110px;
}

@media (max-width:1024px){
  .jem-about{
    --jem-about-photo-shift:70px;
  }
}

@media (max-width:767px){
  .jem-about{
    --jem-about-photo-shift:42px;
  }
}


/* =========================================================
   JONNER v3.5 — AJUSTES MOBILE
   1. "Por trás da Jonner": texto à esquerda + foto à direita.
   2. Categorias maiores: ~3 cards visíveis.
   Desktop permanece inalterado.
========================================================= */
@media (max-width:767px){

  /* -------------------------------------------------------
     CATEGORIAS — MAIORES, ~3 VISÍVEIS
  ------------------------------------------------------- */
  .elementor-widget-jem-jonner-categorias .jem-catshow{
    padding-left:12px !important;
    padding-right:12px !important;

    /* 3 cards visíveis com folga para os gaps */
    --jem-cat-card-width:calc((100vw - 44px) / 3) !important;
    --jem-cat-card-height:192px !important;
    --jem-cat-title-height:34px !important;
  }

  .jem-catshow-track{
    gap:7px !important;
    padding:3px 0 8px !important;
  }

  .jem-cat-card{
    border-radius:12px !important;
  }

  .jem-cat-card-title{
    height:var(--jem-cat-title-height) !important;
    padding:4px 5px !important;
    font-size:9.5px !important;
    line-height:1.08 !important;
  }

  /* -------------------------------------------------------
     POR TRÁS DA JONNER
     Texto ocupa a esquerda da imagem em vez de ficar abaixo.
  ------------------------------------------------------- */
  .jem-about{
    position:relative !important;
    min-height:470px !important;
    height:470px !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  /* Escurece apenas o fundo para dar leitura ao texto.
     O PNG fica acima dessa camada. */
  .jem-about:after{
    background:linear-gradient(
      90deg,
      rgba(0,0,0,.76) 0%,
      rgba(0,0,0,.60) 38%,
      rgba(0,0,0,.24) 62%,
      rgba(0,0,0,.05) 100%
    ) !important;
  }

  /* Foto fixa no lado direito */
  .jem-about-person{
    top:0 !important;
    bottom:0 !important;
    left:auto !important;
    right:-2% !important;
    width:58% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:right bottom !important;

    /* mantém o controle responsivo "Mover foto horizontalmente" */
    transform:translate3d(
      var(--jem-about-photo-shift,0px),
      0,
      0
    ) !important;
  }

  /* Texto passa para o espaço vazio da esquerda */
  .jem-about-copy{
    position:absolute !important;
    z-index:4 !important;
    top:30px !important;
    bottom:auto !important;
    left:15px !important;
    right:auto !important;
    width:47% !important;
    max-width:47% !important;
    margin:0 !important;
  }

  .jem-about-eyebrow{
    margin-bottom:8px !important;
    font-size:8px !important;
    line-height:1.1 !important;
    letter-spacing:.10em !important;
  }

  .jem-about-eyebrow:before{
    width:16px !important;
  }

  .jem-about h2{
    margin:0 0 11px !important;
    font-size:22px !important;
    line-height:1.00 !important;
    letter-spacing:-.035em !important;
  }

  .jem-about h2 span{
    display:block !important;
  }

  .jem-about-text{
    font-size:9.4px !important;
    line-height:1.38 !important;
  }

  .jem-about-text p{
    margin:0 0 8px !important;
  }

  .jem-about-text p:last-child{
    margin-bottom:0 !important;
  }

  .jem-about-whatsapp-wrap{
    width:100% !important;
    margin-top:11px !important;
    justify-content:flex-start !important;
  }

  .jem-about-whatsapp{
    min-width:0 !important;
    width:auto !important;
    min-height:36px !important;
    padding:0 14px 0 34px !important;
    border-radius:10px !important;
    font-size:9.5px !important;
    white-space:nowrap !important;
  }

  .jem-about-whatsapp-icon{
    left:11px !important;
    width:14px !important;
    height:14px !important;
    font-size:12px !important;
  }
}

/* Celulares muito estreitos: preserva a divisão lateral,
   mas compacta mais o texto para não invadir a foto. */
@media (max-width:380px){
  .jem-about-copy{
    width:48% !important;
    max-width:48% !important;
    left:12px !important;
    top:24px !important;
  }

  .jem-about h2{
    font-size:20px !important;
  }

  .jem-about-text{
    font-size:8.8px !important;
    line-height:1.34 !important;
  }

  .jem-about-whatsapp{
    min-height:34px !important;
    padding-right:11px !important;
    font-size:8.8px !important;
  }

  .elementor-widget-jem-jonner-categorias .jem-catshow{
    --jem-cat-card-height:182px !important;
  }
}


/* =========================================================
   JONNER v3.6 — MOVIMENTO VERTICAL REAL DO PNG
   O controle do Elementor agora move visualmente a foto,
   inclusive no layout mobile v3.5.
========================================================= */

.jem-about{
  --jem-about-photo-shift-y:0px;
}

.jem-about-person{
  transform:translate3d(
    var(--jem-about-photo-shift,0px),
    var(--jem-about-photo-shift-y,0px),
    0
  ) !important;
}

@media (max-width:767px){
  .jem-about-person{
    /* mantém o posicionamento lateral da v3.5 e permite subir/descer */
    transform:translate3d(
      var(--jem-about-photo-shift,0px),
      var(--jem-about-photo-shift-y,0px),
      0
    ) !important;
  }
}


/* =========================================================
   JONNER v3.7 — CTA FINAL
========================================================= */
.elementor-widget-jem-jonner-cta-final{
  position:relative !important;
  left:50% !important;
  width:100vw !important;
  max-width:100vw !important;
  margin-left:-50vw !important;
  margin-right:0 !important;
}
.elementor-widget-jem-jonner-cta-final>.elementor-widget-container{
  width:100% !important;max-width:100% !important;margin:0 !important;padding:0 !important;
}
.jem-final-cta{
  --jem-cta-bg:#050914;--jem-cta-green:#44fbb4;--jem-cta-purple:#2a0e3f;
  position:relative;isolation:isolate;width:100%;min-height:640px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;padding:80px 28px;
  background:
    radial-gradient(circle at 50% 50%,rgba(68,251,180,.045),transparent 34%),
    linear-gradient(180deg,#050914 0%,var(--jem-cta-bg) 100%);
  color:#f2f4f7;font-family:inherit;
}
.jem-final-cta,.jem-final-cta *{box-sizing:border-box}
.jem-final-cta:before{
  content:"";position:absolute;inset:0;z-index:-3;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(255,255,255,.018),transparent 26%,transparent 74%,rgba(68,251,180,.025)),
    radial-gradient(circle at center,transparent 0 42%,rgba(0,0,0,.18) 78%,rgba(0,0,0,.36) 100%);
}
.jem-final-cta__grid{
  position:absolute;inset:0;z-index:-4;opacity:.14;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(to bottom,transparent,black 24%,black 76%,transparent);
  -webkit-mask-image:linear-gradient(to bottom,transparent,black 24%,black 76%,transparent);
}
.jem-final-cta__orb{
  position:absolute;z-index:-2;border-radius:50%;filter:blur(90px);opacity:.30;pointer-events:none;will-change:transform;
}
.jem-final-cta__orb--green{
  width:500px;height:500px;left:10%;top:18%;background:var(--jem-cta-green);
  animation:jemCtaFloatGreen 13s ease-in-out infinite alternate;
}
.jem-final-cta__orb--purple{
  width:560px;height:560px;right:7%;bottom:4%;background:var(--jem-cta-purple);opacity:.38;
  animation:jemCtaFloatPurple 16s ease-in-out infinite alternate;
}
.jem-final-cta__halo{
  position:absolute;z-index:-1;width:min(760px,72vw);height:340px;left:50%;top:48%;
  transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(68,251,180,.17) 0%,rgba(68,251,180,.065) 35%,transparent 72%);
  filter:blur(36px);pointer-events:none;animation:jemCtaPulse 4.8s ease-in-out infinite;
}
@keyframes jemCtaFloatGreen{from{transform:translate3d(-6%,-4%,0) scale(.92)}to{transform:translate3d(20%,13%,0) scale(1.08)}}
@keyframes jemCtaFloatPurple{from{transform:translate3d(8%,7%,0) scale(1)}to{transform:translate3d(-22%,-13%,0) scale(.88)}}
@keyframes jemCtaPulse{0%,100%{opacity:.54;transform:translate(-50%,-50%) scale(.94)}50%{opacity:.92;transform:translate(-50%,-50%) scale(1.06)}}
.jem-final-cta__content{
  position:relative;z-index:4;width:74%;max-width:1180px;display:flex;flex-direction:column;align-items:center;text-align:center;
}
.jem-final-cta__eyebrow{
  display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:18px;color:var(--jem-cta-green);
  font-size:11px;line-height:1;font-weight:900;letter-spacing:.13em;text-transform:uppercase;
}
.jem-final-cta__eyebrow span{
  width:28px;height:2px;border-radius:999px;background:var(--jem-cta-green);box-shadow:0 0 16px rgba(68,251,180,.52);
}
.jem-final-cta h2{
  margin:0;max-width:1100px;color:#f2f4f7;font-size:clamp(48px,5.7vw,92px);line-height:.98;letter-spacing:-.055em;font-weight:850;
}
.jem-final-cta h2 span{
  display:block;margin-top:.06em;color:var(--jem-cta-green);text-shadow:0 0 30px rgba(68,251,180,.13);
}
.jem-final-cta__description{
  max-width:760px;margin:28px 0 0;color:#aab3c2;font-size:17px;line-height:1.65;
}
.jem-final-cta__button{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:34px;padding:17px 26px;
  border:1px solid rgba(255,255,255,.06);border-radius:14px;background:var(--jem-cta-green);color:#06110d;text-decoration:none !important;
  font-size:15px;font-weight:850;line-height:1;box-shadow:0 14px 40px rgba(68,251,180,.16),0 0 0 0 rgba(68,251,180,.18);
  transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;overflow:hidden;
}
.jem-final-cta__button:before{
  content:"";position:absolute;top:-130%;left:-40%;width:28%;height:360%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.46),transparent);transform:rotate(18deg);transition:left .58s ease;
}
.jem-final-cta__button:hover{
  color:#06110d;transform:translateY(-4px) scale(1.015);filter:brightness(1.035);
  box-shadow:0 22px 56px rgba(68,251,180,.24),0 0 0 8px rgba(68,251,180,.045);
}
.jem-final-cta__button:hover:before{left:118%}
.jem-final-cta__arrow{display:inline-flex;font-size:17px;transition:transform .22s ease}
.jem-final-cta__button:hover .jem-final-cta__arrow{transform:translate(3px,-3px)}
.jem-final-cta__microcopy{
  display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px;color:#8792a3;font-size:12px;line-height:1.4;
}
.jem-final-cta__dot{width:6px;height:6px;border-radius:999px;background:var(--jem-cta-green);box-shadow:0 0 12px rgba(68,251,180,.62)}
.jem-final-cta:after{
  content:"";position:absolute;top:0;left:50%;width:min(1180px,84vw);height:1px;transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(68,251,180,.26),rgba(255,255,255,.08),rgba(68,251,180,.26),transparent);
}
@media(max-width:1024px){
  .jem-final-cta{min-height:580px}
  .jem-final-cta__content{width:84%}
  .jem-final-cta h2{font-size:clamp(44px,7vw,70px)}
}
@media(max-width:767px){
  .jem-final-cta{min-height:520px;padding:54px 18px}
  .jem-final-cta__grid{background-size:38px 38px;opacity:.10}
  .jem-final-cta__orb{filter:blur(68px)}
  .jem-final-cta__orb--green{width:300px;height:300px;left:-24%;top:18%;opacity:.24}
  .jem-final-cta__orb--purple{width:330px;height:330px;right:-28%;bottom:3%;opacity:.31}
  .jem-final-cta__halo{width:96vw;height:250px;top:45%}
  .jem-final-cta__content{width:92%;max-width:none}
  .jem-final-cta__eyebrow{margin-bottom:14px;gap:8px;font-size:8.5px;letter-spacing:.10em}
  .jem-final-cta__eyebrow span{width:20px}
  .jem-final-cta h2{font-size:35px;line-height:1;letter-spacing:-.045em}
  .jem-final-cta__description{max-width:320px;margin-top:20px;font-size:12px;line-height:1.52}
  .jem-final-cta__button{margin-top:26px;min-height:46px;padding:0 20px;border-radius:12px;font-size:12px}
  .jem-final-cta__microcopy{max-width:290px;margin-top:14px;font-size:9.5px;line-height:1.4}
}
@media(prefers-reduced-motion:reduce){
  .jem-final-cta__orb,.jem-final-cta__halo{animation:none !important}
  .jem-final-cta__button,.jem-final-cta__arrow{transition:none !important}
}


/* =========================================================
   JONNER v3.9 — CTA FINAL / MICROCOPY
========================================================= */

/* O ponto decorativo foi removido do HTML.
   Mantemos esta regra por segurança caso exista cache antigo. */
.jem-final-cta__dot{
  display:none !important;
}

@media(max-width:767px){
  .jem-final-cta__microcopy{
    display:block !important;
    width:auto !important;
    max-width:none !important;
    margin-top:14px !important;
    padding:0 !important;

    /* Mantém tudo em uma linha no celular */
    white-space:nowrap !important;
    overflow:visible !important;
    text-align:center !important;

    /* Pequeno o suficiente para caber em telas mobile comuns */
    font-size:8.2px !important;
    line-height:1.2 !important;
    letter-spacing:-.01em !important;
  }
}

/* Em aparelhos muito estreitos, reduz um pouco mais sem quebrar linha */
@media(max-width:380px){
  .jem-final-cta__microcopy{
    font-size:7.4px !important;
  }
}
