/* O Contraturno — CSS dos widgets da landing (extraído dos snippets WPCode — C3/VIS) */
/* ══ Euclídia Hero Banner (snippet 913) ══ */
.euclidia-hero-wrapper{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;padding:0!important;overflow-x:hidden}
.euclidia-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#1e0a4a 0%,#3d1d8a 35%,#5326b5 65%,#6c35de 100%);width:100%;min-height:260px;display:flex;align-items:center;justify-content:center;font-family:'Inter',system-ui,sans-serif;box-sizing:border-box}
.euclidia-inner{position:relative;width:100%;max-width:1100px;min-height:260px;margin:0 auto;display:flex;align-items:center;justify-content:center}
.euclidia-eq-layer{position:absolute;inset:0;pointer-events:none;z-index:1;user-select:none}
.euclidia-eq{position:absolute;font-family:'Georgia',serif;font-style:italic;color:rgba(255,255,255,.09);white-space:nowrap}
.eq01{font-size:13px;top:5%;left:2%;animation:edrift1 19s ease-in-out infinite}
.eq02{font-size:16px;top:18%;left:14%;animation:edrift2 23s ease-in-out infinite 1s}
.eq03{font-size:12px;top:35%;left:3%;animation:edrift1 21s ease-in-out infinite 3s}
.eq04{font-size:15px;top:58%;left:7%;animation:edrift2 17s ease-in-out infinite}
.eq05{font-size:13px;top:78%;left:2%;animation:edrift1 25s ease-in-out infinite 2s}
.eq06{font-size:14px;top:88%;left:18%;animation:edrift2 20s ease-in-out infinite 4s}
.eq07{font-size:16px;top:72%;left:28%;animation:edrift1 22s ease-in-out infinite 1s}
.eq08{font-size:12px;top:8%;left:30%;animation:edrift2 18s ease-in-out infinite 5s}
.eq09{font-size:15px;top:48%;left:25%;animation:edrift1 26s ease-in-out infinite}
.eq10{font-size:13px;top:90%;left:42%;animation:edrift2 21s ease-in-out infinite 2s}
.eq11{font-size:14px;top:10%;left:50%;animation:edrift1 24s ease-in-out infinite 3s}
.eq12{font-size:16px;top:28%;left:58%;animation:edrift2 19s ease-in-out infinite 1s}
.eq13{font-size:12px;top:62%;left:55%;animation:edrift1 28s ease-in-out infinite 6s}
.eq14{font-size:15px;top:80%;left:65%;animation:edrift2 16s ease-in-out infinite}
.eq15{font-size:13px;top:5%;left:68%;animation:edrift1 22s ease-in-out infinite 4s}
.eq16{font-size:14px;top:42%;left:74%;animation:edrift2 20s ease-in-out infinite 2s}
.eq17{font-size:16px;top:18%;left:82%;animation:edrift1 17s ease-in-out infinite 1s}
.eq18{font-size:12px;top:55%;left:86%;animation:edrift2 23s ease-in-out infinite 5s}
.eq19{font-size:13px;top:78%;left:80%;animation:edrift1 27s ease-in-out infinite}
.eq20{font-size:15px;top:92%;left:88%;animation:edrift2 18s ease-in-out infinite 3s}
@media(max-width:768px){.eq12,.eq13,.eq14,.eq15,.eq16,.eq17,.eq18,.eq19,.eq20{display:none}}
.euclidia-geo-left{position:absolute;left:-20px;top:50%;transform:translateY(-50%);width:clamp(160px,26vw,300px);height:clamp(160px,26vw,300px);z-index:1;opacity:.22;pointer-events:none}
.euclidia-geo-right{position:absolute;right:-20px;top:50%;transform:translateY(-50%);width:clamp(160px,26vw,300px);height:clamp(160px,26vw,300px);z-index:1;opacity:.22;pointer-events:none}
@media(max-width:600px){.euclidia-geo-left{left:-50px;opacity:.1}.euclidia-geo-right{right:-50px;opacity:.1}}
.spin-fwd{animation:espin 40s linear infinite;transform-origin:170px 170px}
.spin-rev{animation:espin 28s linear infinite reverse;transform-origin:170px 170px}
.spin-fast{animation:espin 18s linear infinite;transform-origin:170px 170px}
.spin-slow{animation:espin 60s linear infinite reverse;transform-origin:170px 170px}
.pulse-dot{animation:epulse 4s ease-in-out infinite;transform-origin:170px 170px}
.cube-spin{animation:espin 50s linear infinite;transform-origin:170px 170px}
.hex-spin{animation:espin 70s linear infinite reverse;transform-origin:170px 170px}
@keyframes espin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes epulse{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}
@keyframes edrift1{0%,100%{transform:translate(0,0) rotate(-2deg);opacity:.8}33%{transform:translate(5px,-7px) rotate(1deg);opacity:1}66%{transform:translate(-3px,4px) rotate(-1deg);opacity:.6}}
@keyframes edrift2{0%,100%{transform:translate(0,0) rotate(1deg);opacity:.6}40%{transform:translate(-7px,5px) rotate(-2deg);opacity:1}70%{transform:translate(4px,-3px) rotate(.5deg);opacity:.8}}
.euclidia-content{position:relative;z-index:2;padding:clamp(1.8rem,4vw,2.8rem) clamp(1rem,3vw,2rem);max-width:560px;text-align:center}
.euclidia-eyebrow{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.42);margin-bottom:13px}
.euclidia-title{font-size:clamp(26px,5vw,40px);font-weight:700;line-height:1.1;letter-spacing:-.6px;margin-bottom:10px}
.euclidia-brand{display:block;background:linear-gradient(90deg,#c9b8ff,#fff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.euclidia-sub{display:block;font-size:.58em;font-weight:400;color:rgba(255,255,255,.52);letter-spacing:.06em;-webkit-text-fill-color:rgba(255,255,255,.52);margin-top:4px}
.euclidia-badge{display:inline-block;font-size:11px;font-weight:500;letter-spacing:.05em;color:rgba(255,255,255,.75);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:4px 14px;margin-bottom:20px}
.euclidia-stats{font-size:12px;color:rgba(255,255,255,.38);letter-spacing:.04em;margin-bottom:22px}
.euclidia-cta{display:inline-block;font-size:14px;font-weight:700;color:#fff!important;background:#f97316;border:1.5px solid #f97316;border-radius:8px;padding:10px 28px;text-decoration:none;letter-spacing:.03em;cursor:pointer;transition:background .2s,border-color .2s}
.euclidia-cta:hover{background:#ea6c0a;border-color:#ea6c0a}
@media(prefers-reduced-motion:reduce){.spin-fwd,.spin-rev,.spin-fast,.spin-slow,.pulse-dot,.cube-spin,.hex-spin,.euclidia-eq{animation:none!important}}
.euclidia-content{background:rgba(255,255,255,.07);border-radius:18px;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.euclidia-content::before{content:'';position:absolute;inset:0;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);transform:rotate(-3.5deg) scale(.97) translateY(4px);z-index:-1;filter:blur(1.5px)}.euclidia-content::after{content:'';position:absolute;inset:0;border-radius:18px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);transform:rotate(2deg) scale(.95) translateY(8px);z-index:-2;filter:blur(2.5px)}

/* ══ Carrossel de Depoimentos (snippet 927) ══ */
.oc-dep-title{font-family:'Plus Jakarta Sans','Inter',system-ui,sans-serif;font-size:18px;font-weight:700;color:#1a0a3b;margin:28px 0 16px;text-align:left;letter-spacing:-.3px}
.oc-clip-wrap{overflow:hidden;position:relative;width:100%;border-radius:12px}
.oc-test-scene{position:relative;width:100%;height:296px;perspective:880px;perspective-origin:50% 50%;cursor:grab;overflow:visible}
.oc-test-scene:active{cursor:grabbing}
.oc-test-mount{position:absolute;left:50%;top:50%;transform-style:preserve-3d;transform:translate(-50%,-50%)}
.oc-card{position:absolute;width:226px;height:256px;background:#fff;border-radius:14px;padding:18px;box-sizing:border-box;box-shadow:0 4px 18px rgba(80,40,160,.08);left:-113px;top:-128px;will-change:transform,opacity;display:flex;flex-direction:column;pointer-events:none}
.oc-card--active{box-shadow:0 6px 36px rgba(83,38,181,.18),0 0 0 1.5px rgba(83,38,181,.10);pointer-events:auto}
.oc-card__glow{position:absolute;inset:-1px;border-radius:15px;opacity:0;background:linear-gradient(135deg,rgba(83,38,181,.10),rgba(249,115,22,.07));transition:opacity .35s;pointer-events:none}
.oc-card--active .oc-card__glow{opacity:1}
.oc-card__hd{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-shrink:0}
.oc-card__av{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}
.oc-card__name{font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:700;color:#1a0a3b;line-height:1.2}
.oc-card__grade{font-size:11px;color:#9088b8;margin-top:2px}
.oc-card__txt{font-size:11.5px;line-height:1.55;color:#3d3560;flex:1;overflow:hidden;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;margin:0 0 10px}
.oc-card__stars{display:flex;gap:2px;flex-shrink:0}
.oc-star{width:11px;height:11px;fill:#e0daf5}
.oc-star--on{fill:#f97316}
@media(max-width:600px){.oc-test-scene{height:250px;perspective:560px}.oc-card{width:190px;height:228px;left:-95px;top:-114px;padding:14px}}


/* ══ Caderninho (snippet 692) ══ */

/* ===== RESET ===== */

#caderninho-overlay *,#caderninho-overlay *::before,#caderninho-overlay *::after,#caderninho-icon *{box-sizing:border-box;margin:0;padding:0}



/* ===== ÍCONE FLUTUANTE ===== */

#caderninho-icon{

  display:inline-flex;align-items:center;justify-content:center;

  width:60px;height:60px;min-width:60px;min-height:60px;

  border-radius:50%;padding:0;

  background:linear-gradient(145deg,#7958D7,#9781FC);

  box-shadow:0 4px 14px rgba(121,88,215,0.55);

  cursor:pointer;transition:transform .2s,box-shadow .2s;

  border:none;outline:none;

  flex-shrink:0;

}

#caderninho-icon:hover{transform:scale(1.1);box-shadow:0 6px 20px rgba(121,88,215,0.65);}

#caderninho-icon svg{width:30px;height:30px;display:block;flex-shrink:0;}



/* ===== OVERLAY ===== */

#caderninho-overlay{

  display:none;

  position:fixed;inset:0;z-index:99998;

  background:rgba(0,0,0,0.55);

  align-items:center;justify-content:center;

}

#caderninho-overlay.aberto{display:flex;}



/* ===== WRAPPER DO CADERNO ===== */

#caderninho-wrapper{

  position:relative;

  font-family:'Georgia',serif;

  animation:cad-in .25s ease;

}

@keyframes cad-in{from{transform:scale(.88);opacity:0}to{transform:scale(1);opacity:1}}



#caderninho-close{

  position:absolute;top:-14px;right:-14px;z-index:2;

  width:30px;height:30px;border-radius:50%;border:none;

  background:#7958D7;color:#fff;font-size:18px;line-height:1;

  cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,0.3);

  display:flex;align-items:center;justify-content:center;

}



/* ===== CADERNO ===== */

.cad-scene{

  display:flex;justify-content:center;

  padding:2rem 1.5rem 1.5rem;

}

.cad-notebook{position:relative;width:340px;}



/* Espiral */

.cad-spiral{

  position:absolute;left:-28px;top:8px;bottom:8px;width:28px;

  display:flex;flex-direction:column;justify-content:space-evenly;

  align-items:center;z-index:10;

}

.cad-ring{display:flex;flex-direction:column;align-items:center;margin:1px 0;}

.cad-ring-top{

  width:20px;height:11px;border:3.5px solid #333;

  border-radius:10px 10px 0 0;border-bottom:none;

  background:linear-gradient(90deg,#888,#ddd 40%,#aaa 60%,#666);

  box-shadow:inset 0 2px 3px rgba(255,255,255,.4),1px 1px 3px rgba(0,0,0,.4);

  position:relative;

}

.cad-ring-top::after{

  content:'';position:absolute;left:3px;top:2px;

  width:14px;height:5px;border-radius:10px 10px 0 0;

  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);

}

.cad-ring-bot{

  width:20px;height:7px;border:3.5px solid #333;

  border-radius:0 0 10px 10px;border-top:none;

  background:linear-gradient(90deg,#777,#ccc 40%,#999 60%,#555);

  box-shadow:inset 0 -2px 3px rgba(0,0,0,.3),1px 1px 3px rgba(0,0,0,.4);

}

.cad-pin{

  width:4px;height:6px;

  background:linear-gradient(90deg,#555,#bbb,#555);

  border-radius:0 0 2px 2px;box-shadow:0 1px 2px rgba(0,0,0,.4);

}



/* Livro */

.cad-book{

  width:340px;border-radius:4px 12px 12px 4px;overflow:hidden;

  box-shadow:2px 2px 8px rgba(0,0,0,.25),inset 0 0 0 1px rgba(0,0,0,.08);

}

.cad-page{display:none;flex-direction:column;}

.cad-page.ativo{display:flex;}



/* Capa */

.cad-cover{

  background:

    repeating-linear-gradient(0deg,transparent 0,transparent 27px,rgba(255,255,255,.06) 27px,rgba(255,255,255,.06) 28px),

    linear-gradient(135deg,#6A1FA8 0%,#7958D7 40%,#9781FC 70%,#7958D7 100%);

  padding:1.5rem 2rem 1.8rem;min-height:420px;

  display:flex;flex-direction:column;justify-content:space-between;

  position:relative;overflow:hidden;

}

.cad-cover::before{

  content:'';position:absolute;inset:0;pointer-events:none;

  background:radial-gradient(ellipse at 20% 30%,rgba(255,255,255,.05),transparent 50%),

             radial-gradient(ellipse at 80% 70%,rgba(0,0,0,.10),transparent 50%);

}

.cad-logo-wrap{

  display:flex;justify-content:center;align-items:center;flex:1;padding:.5rem 0;

}

.cad-divider{height:1.5px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);margin:.8rem 0;}

.cad-cover-title{color:#fff;font-size:17px;line-height:1.45;text-align:center;font-family:'Georgia',serif;text-shadow:0 1px 3px rgba(0,0,0,.4);padding:0 .5rem;}

.cad-cover-sub{color:rgba(255,255,255,.55);font-size:10.5px;text-align:center;font-family:sans-serif;letter-spacing:.08em;margin-top:.8rem;text-transform:uppercase;}



/* Página interna

   CHAVE: background-position usa padding-top fixo de 56px (altura do header)

   O truque é definir explicitamente background-attachment:local

   para que a pauta sempre comece após o header, independente do contexto */

.cad-inner{

  /* pauta: linhas de 28.5px */

  background:

    repeating-linear-gradient(

      transparent 0px,

      transparent 27px,

      #c4aee0 27px,

      #c4aee0 28.5px

    ),

    linear-gradient(180deg,#f8f4fd,#f3eef8 30%,#f5f0fa 60%,#f2edf8);

  background-size:100% 28.5px,100% 100%;

  /* 56px = altura do .cad-header; mantém alinhamento em qualquer contexto */

  background-position:0 56px, 0 0;

  background-attachment:local;          /* <-- correção principal */

  border-left:5px solid #7958D7;

  min-height:420px;

  display:flex;flex-direction:column;

  position:relative;

  box-shadow:inset 4px 0 10px rgba(121,88,215,.08);

}

/* margem vermelha */

.cad-inner::before{

  content:'';position:absolute;left:32px;top:56px;bottom:0;width:1px;

  background:rgba(220,150,150,.35);pointer-events:none;

}



.cad-header{

  padding:10px 18px 0;

  background:linear-gradient(180deg,#ede5f8,#f3eef8);

  border-bottom:1.5px solid #c4aee0;

  position:relative;z-index:1;

  height:56px;           /* deve bater com background-position */

  display:flex;flex-direction:column;justify-content:flex-end;

}

.cad-tag{font-family:sans-serif;font-size:9.5px;letter-spacing:.12em;color:#7958D7;text-transform:uppercase;line-height:1;margin-bottom:3px;}

.cad-heading{font-size:17px;color:#331869;font-family:'Georgia',serif;font-weight:normal;line-height:1;margin-bottom:5px;}



/* Corpo pautado */

.cad-body{flex:1;padding:0 18px 14px 42px;}



/* Linhas — line-height = 28.5px para casar com a pauta */

.cad-body .ln,

.cad-body .ln-b{

  font-family:sans-serif;font-size:12.5px;color:#2a1050;

  line-height:28.5px;display:block;margin:0;padding:0;height:28.5px;

}



.cad-fbox{

  margin:0;padding-left:8px;

  background:rgba(121,88,215,.07);

  border-left:3px solid #7958D7;

}

.cad-fbox .fm{

  font-family:'Courier New',monospace;font-size:13px;color:#331869;

  line-height:28.5px;height:28.5px;display:block;

}

.cad-fbox .fn{

  font-family:sans-serif;font-size:11px;color:#7958D7;

  line-height:28.5px;height:28.5px;display:block;

}

.cad-fbox.amber{border-left-color:#EF9F27;background:rgba(239,159,39,.08);}

.cad-fbox.amber .fn{color:#633806;}



.cad-ex{

  font-family:sans-serif;font-size:11px;color:#7958D7;font-style:italic;

  letter-spacing:.04em;line-height:28.5px;height:28.5px;display:block;

}



/* Fração inline */

.frac{

  display:inline-flex;flex-direction:column;align-items:center;

  font-family:'Courier New',monospace;font-size:12px;color:#331869;

  line-height:1.1;vertical-align:middle;

}

.frac-n{border-bottom:1.5px solid #331869;padding:0 3px;min-width:40px;text-align:center;}

.frac-d{padding:0 3px;min-width:40px;text-align:center;}



/* Navegação */

.cad-nav{

  display:flex;align-items:center;justify-content:space-between;

  width:340px;margin-top:1rem;padding:0 .2rem;

}

.cad-arr{

  background:#7958D7;border:none;color:#fff;

  width:32px;height:32px;border-radius:50%;

  font-size:18px;cursor:pointer;

  display:flex;align-items:center;justify-content:center;

  transition:background .2s;box-shadow:0 2px 6px rgba(121,88,215,.35);

}

.cad-arr:hover{background:#5a1fa0;}

.cad-arr:disabled{background:#ccc;box-shadow:none;cursor:default;}

.cad-dots{display:flex;gap:6px;}

.cad-dot{width:7px;height:7px;border-radius:50%;background:#d8cce8;cursor:pointer;transition:background .2s;}

.cad-dot.on{background:#7958D7;}

.cad-pg{font-family:sans-serif;font-size:11px;color:#7958D7;}



/* ══ Lousa Matemática (snippet 583) ══ */

.lw { max-width: 750px; margin: 0 auto; transform: scale(0.94); transform-origin: top center; }

.lw *,.lw *::before,.lw *::after{box-sizing:border-box;margin:0;padding:0;}

.lw{width:100%;background:#f7f5ff;border-radius:16px;border:1px solid rgba(150,100,220,0.2);overflow:hidden;}

.lh{background:rgba(150,100,220,0.08);border-bottom:1px solid rgba(150,100,220,0.15);padding:10px 14px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;}

.lt{font-size:12px;color:#7c5cbf;letter-spacing:0.06em;text-transform:uppercase;font-weight:bold;min-width:180px;}

.tool-group{display:flex;align-items:center;gap:4px;background:rgba(150,100,220,0.06);border:1px solid rgba(150,100,220,0.15);border-radius:24px;padding:3px 6px;}

.tool-group--pen{gap:6px;padding:3px 10px;}

.tools{display:flex;gap:6px;align-items:center;flex-wrap:wrap;}

.tbtn{font-size:11px;padding:4px 12px;border-radius:20px;border:1px solid rgba(150,100,220,0.3);background:white;color:#7c5cbf;cursor:pointer;white-space:nowrap;transition:all 0.15s;}

.tbtn:hover{background:rgba(150,100,220,0.1);}

.tbtn.active{background:#7c5cbf;color:white;border-color:#7c5cbf;}

.tbtn.mode{background:#f0ebff;font-weight:bold;color:#5a3a99;border-color:rgba(150,100,220,0.4);}

.tbtn.mode.active{background:#5a3a99;color:white;border-color:#5a3a99;}

.tbtn.danger{border-color:rgba(220,60,60,0.3);color:#c03030;}

.tbtn.danger:hover{background:rgba(220,60,60,0.08);}

.tbtn.success{border-color:rgba(29,158,117,0.4);color:#1d9e75;background:#f0fdf9;}

.tbtn.success:hover{background:rgba(29,158,117,0.1);}

.cdot{width:18px;height:18px;border-radius:50%;cursor:pointer;border:2px solid transparent;flex-shrink:0;transition:transform 0.1s;}

.cdot:hover{transform:scale(1.2);}

.cdot.sel{border-color:#333;transform:scale(1.15);}

.sslider{width:55px;accent-color:#7c5cbf;}

.sep{width:1px;height:20px;background:rgba(150,100,220,0.25);margin:0 4px;}

.lb{position:relative;width:100%;}

.lb-inner{display:flex;align-items:stretch;width:100%;min-height:400px;}

.lb-graph{position:relative;flex:1 1 0;min-width:0;}

.lb-graph svg.bg{display:block;width:100%;height:auto;}

canvas.dc{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;}

/* Resolução — coluna HTML lateral */

.res-panel{width:210px;flex-shrink:0;background:rgba(255,255,255,0.92);border-left:1px solid rgba(150,100,220,0.18);display:flex;flex-direction:column;overflow:hidden;}

.res-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 8px;border-bottom:1px solid rgba(150,100,220,0.15);background:rgba(150,100,220,0.06);}

.res-title{font-size:11px;font-weight:bold;color:#5a3a99;text-transform:uppercase;letter-spacing:0.06em;}

.res-toggle{background:none;border:none;cursor:pointer;font-size:14px;padding:0;line-height:1;color:#9b72d0;transition:opacity 0.2s;}

.res-toggle:hover{opacity:0.6;}

.res-body{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:6px;}

.res-empty{font-size:10px;color:#bbb;font-style:italic;text-align:center;margin-top:20px;}

/* Blocos internos da resolução */

.res-block{display:flex;flex-direction:column;gap:2px;}

.res-label{font-size:9px;color:#9b72d0;text-transform:uppercase;letter-spacing:0.05em;font-weight:bold;}

.res-value{font-size:12px;color:#5a3a99;font-weight:bold;}

.res-value.highlight{color:#e07820;font-size:13px;}

.res-value.small{font-size:10px;color:#7c5cbf;font-weight:normal;}

.res-divider{height:1px;background:rgba(150,100,220,0.15);margin:4px 0;}

.res-badge{display:inline-block;font-size:9px;padding:2px 8px;border-radius:20px;background:rgba(150,100,220,0.1);color:#7c5cbf;font-weight:bold;width:fit-content;}

.res-hidden-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;flex:1;cursor:pointer;background:rgba(247,245,255,0.97);}

.res-hidden-overlay span{font-size:11px;color:#9b72d0;}

.res-hidden-overlay small{font-size:9px;color:#bbb;}

.panel{width:210px;flex-shrink:0;background:rgba(255,255,255,0.92);border-left:1px solid rgba(150,100,220,0.18);padding:12px 14px;display:flex;flex-direction:column;gap:6px;z-index:10;}

.panel-title{font-size:9.5px;color:#7c5cbf;font-weight:bold;text-transform:uppercase;letter-spacing:0.05em;border-bottom:1px solid rgba(150,100,220,0.2);padding-bottom:4px;}

.pts-list{font-size:10px;color:#5a3a99;min-height:50px;max-height:100px;overflow-y:auto;line-height:1.7;}

.notes{width:100%;min-height:70px;font-size:10px;font-family:'Courier New',monospace;color:#5a3a99;border:1px solid rgba(150,100,220,0.2);border-radius:6px;padding:5px;resize:none;background:rgba(255,255,255,0.8);}

.notes:focus{outline:1px solid rgba(150,100,220,0.4);}

.pts-empty{color:#bbb;font-style:italic;}

.eq-bar{background:rgba(150,100,220,0.05);border-bottom:1px solid rgba(150,100,220,0.12);padding:8px 14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}

.eq-bar label{font-size:11px;color:#7c5cbf;white-space:nowrap;}

.eq-input{font-family:'Courier New',monospace;font-size:12px;padding:4px 10px;border-radius:20px;border:1px solid rgba(150,100,220,0.35);background:white;color:#5a3a99;width:200px;outline:none;}

.eq-input:focus{border-color:#7c5cbf;box-shadow:0 0 0 2px rgba(124,92,191,0.12);}

.eq-info{font-size:10px;color:#9b72d0;margin-left:4px;}

.eq-error{color:#e24b4a;font-size:10px;}

.quiz-overlay{position:absolute;inset:0;background:rgba(247,245,255,0.97);z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;}

.quiz-box{background:white;border:1px solid rgba(150,100,220,0.25);border-radius:12px;padding:20px 28px;max-width:420px;width:90%;text-align:center;box-shadow:0 4px 24px rgba(124,92,191,0.1);}

.quiz-title{font-size:14px;color:#5a3a99;font-weight:bold;margin-bottom:6px;}

.quiz-question{font-size:13px;color:#7c5cbf;margin-bottom:14px;line-height:1.5;}

.quiz-input{font-family:'Courier New',monospace;font-size:13px;padding:6px 14px;border-radius:20px;border:1.5px solid rgba(150,100,220,0.35);background:#f7f5ff;color:#5a3a99;width:120px;text-align:center;outline:none;margin-bottom:10px;}

.quiz-input:focus{border-color:#7c5cbf;}

.quiz-feedback{font-size:12px;font-weight:bold;min-height:18px;transition:all 0.2s;}

.quiz-feedback.ok{color:#1d9e75;}

.quiz-feedback.err{color:#e24b4a;}

.quiz-score{font-size:11px;color:#9b72d0;border-top:1px solid rgba(150,100,220,0.15);padding-top:10px;margin-top:6px;}

.score-nums{font-size:16px;font-weight:bold;color:#5a3a99;display:block;}

.lw-footer{font-size:10px;color:#9b72d0;text-align:center;padding:7px 14px;border-top:1px solid rgba(150,100,220,0.12);background:rgba(150,100,220,0.04);letter-spacing:0.02em;}

.lw-footer a{color:#7c5cbf;text-decoration:none;font-weight:bold;}

.lw-footer a:hover{text-decoration:underline;}

.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(60px);background:#5a3a99;color:white;font-size:11px;padding:7px 18px;border-radius:20px;pointer-events:none;opacity:0;transition:all 0.3s;z-index:999;white-space:nowrap;}

.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

.res-frac{display:inline-flex;flex-direction:column;align-items:center;gap:0;margin:4px 0;font-family:'Courier New',monospace;}

.res-frac-num{font-size:11px;color:#5a3a99;padding:0 6px;white-space:nowrap;}

.res-frac-bar{align-self:stretch;height:1.5px;background:#5a3a99;border-radius:1px;}

.res-frac-den{font-size:11px;color:#5a3a99;padding:0 6px;white-space:nowrap;}

.res-row{display:flex;align-items:baseline;gap:6px;padding:2px 0;}

.res-row-label{font-size:9.5px;color:#9b72d0;white-space:nowrap;min-width:70px;}

.res-row-value{font-size:11px;color:#5a3a99;font-family:'Courier New',monospace;}

.res-row-value.highlight{color:#e07820;font-weight:bold;font-size:12px;}

.res-row-value.small{font-size:10px;color:#7c5cbf;}

@keyframes spin{to{transform:rotate(360deg);}}

.spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,0.3);border-top-color:white;border-radius:50%;animation:spin 0.7s linear infinite;display:inline-block;vertical-align:middle;margin-right:6px;}

@media(max-width:480px){
  .lw-footer{

    font-size: 8px;

    padding: 5px;

  }
}

	

@media(max-width:600px){

  .lh{padding:8px 10px;gap:6px;}

  .lt{font-size:10px;min-width:unset;width:100%;}

  .tools{gap:4px;}

  .tool-group{padding:2px 5px;gap:3px;}

  .tbtn{font-size:10px;padding:4px 8px;}

  .sslider{width:40px;}

  .cdot{width:15px;height:15px;}

  .sep{display:none;}

  .eq-bar{padding:6px 10px;gap:6px;}

  .eq-input{width:140px;font-size:11px;}

  .lb-inner{flex-direction:column;}

  .lb-graph{width:100%;}

  .panel{width:100%;border-left:none;border-top:1px solid rgba(150,100,220,0.18);}

  .res-panel{width:100%;border-left:none;border-top:1px solid rgba(150,100,220,0.18);}

  .quiz-box{padding:16px 14px;}

}




/* ══ Como funciona — 3 abas (reestruturação 2026-07-11; refino visual 2026-07-12) ══ */
.ocf-como{max-width:980px;margin:0 auto;padding:3.5rem 1.25rem 3rem;text-align:center;position:relative}
/* Conteúdo real acima da camada decorativa (z-index:0) — nenhuma dessas
   classes muda de layout, só ganha uma posição de empilhamento. */
.ocf-como-eyebrow,.ocf-como-titulo,.ocf-como-sub,.ocf-como-stepper,.ocf-como-painel{position:relative;z-index:1}
.ocf-como-eyebrow{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#6c35de;background:#ede9ff;border-radius:50px;padding:.35rem 1rem;margin:0 0 .9rem}
.ocf-como-titulo{font-size:clamp(1.6rem,3.4vw,2.3rem);font-weight:800;color:#1a0a3c;margin:0 0 .5rem;line-height:1.2}
.ocf-como-sub{color:#6a5c88;font-size:.95rem;max-width:56ch;margin:0 auto 1.8rem;line-height:1.6}

/* ── Decoração de fundo — mapa de percurso (2026-07-12) ──────────────
   Camada puramente visual atrás do conteúdo: manchas, trilha pontilhada,
   pin, bandeira e sparkles. Cores reaproveitadas dos tokens já usados na
   seção (conector do stepper, decoração do hero): #c4b5fd, #a78bfa,
   #ddd6fe, rgba(108,53,222,x). Nenhum hex novo. */
/* Full-bleed (P2 do dono, 2026-07-12): .ocf-como tem max-width:980px pra
   leitura, mas a decoração precisa cobrir a SEÇÃO inteira, não só a coluna
   de conteúdo — mesma técnica usada no hero do vídeo (a12fea4): a caixa
   absoluta ignora a largura do pai e se estica a 100vw via left:50%+
   translateX(-50%), só herdando o topo/base (altura) de .ocf-como. O
   overflow:hidden precisa morar AQUI, não em .ocf-como, senão o pai de
   980px corta o breakout de volta antes dele esticar. */
.ocf-como-decor{position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);z-index:0;pointer-events:none;overflow:hidden}
.ocf-como-decor-svg{display:block;width:100%;height:100%}

.ocf-como-blob{filter:url(#ocfComoBlur)}
.ocf-como-blob-a{fill:#c4b5fd;opacity:.22}
.ocf-como-blob-b{fill:#a78bfa;opacity:.16}
.ocf-como-blob-c{fill:#ddd6fe;opacity:.3}

/* Trilha (P2 do dono): antes deslizava uniforme feito esteira. Agora dois
   loops somados — um de deslocamento com paradas irregulares (não 25/50/75
   igualzinho) e um de opacidade pulsando fora de fase — dão a sensação de
   passos surgindo e sumindo ao longo do caminho, não uma linha mecânica. */
/* Trilha esticada de ponta a ponta na moldura larga (-120 a 1320) — o
   deslocamento e a duração dobraram de tamanho junto com o caminho, pra
   manter a mesma velocidade percebida do traço fluindo. */
.ocf-como-trilha{fill:none;stroke:rgba(108,53,222,.4);stroke-width:3;stroke-linecap:round;stroke-dasharray:1 21;animation:ocfComoTrilhaFluir 26s cubic-bezier(.5,0,.15,1) infinite,ocfComoTrilhaPulso 5.2s ease-in-out infinite}

.ocf-como-pin{opacity:0;transform-box:fill-box;transform-origin:center;animation:ocfComoFadeIn 4s ease-in-out infinite}
.ocf-como-bandeira{opacity:0;transform-box:fill-box;transform-origin:center;animation:ocfComoFadeIn 6s ease-in-out infinite;animation-delay:1.4s}

.ocf-como-sparkle{fill:#a78bfa;opacity:0;transform-box:fill-box;transform-origin:center;animation:ocfComoSparkle 3.6s ease-in-out infinite}
.ocf-como-sparkle-1{animation-delay:.2s}
.ocf-como-sparkle-2{animation-delay:1.6s}
.ocf-como-sparkle-3{animation-delay:2.3s}
.ocf-como-sparkle-4{animation-delay:.9s}

/* paradas em % irregulares (não 0/25/50/75/100) pra fugir do ritmo
   mecânico de um deslocamento linear uniforme */
@keyframes ocfComoTrilhaFluir{
  0%{stroke-dashoffset:0}
  18%{stroke-dashoffset:-68}
  35%{stroke-dashoffset:-194}
  54%{stroke-dashoffset:-276}
  73%{stroke-dashoffset:-424}
  100%{stroke-dashoffset:-572}
}
@keyframes ocfComoTrilhaPulso{
  0%,100%{opacity:.3}
  21%{opacity:.9}
  44%{opacity:.28}
  67%{opacity:.85}
  85%{opacity:.4}
}
@keyframes ocfComoFadeIn{0%,100%{opacity:0}50%{opacity:1}}
@keyframes ocfComoSparkle{0%,100%{opacity:0;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}

@media(prefers-reduced-motion:reduce){
  .ocf-como-trilha,.ocf-como-pin,.ocf-como-bandeira,.ocf-como-sparkle{animation:none!important}
  .ocf-como-trilha{stroke-dashoffset:0;opacity:.5}
  .ocf-como-pin,.ocf-como-bandeira{opacity:.5}
  .ocf-como-sparkle{opacity:.55;transform:scale(1)}
}

/* ── Stepper v2 (2026-07-12): 3 cards separados, roxo em todos, mais
   intenso no ativo, texto sempre branco/pérola, traço visível nos vãos
   entre os cards, título+subtítulo por etapa. */
.ocf-como-stepper{display:flex;justify-content:center;gap:.85rem;margin:0 auto 2.25rem;max-width:760px;position:relative;flex-wrap:wrap}
.ocf-como-stepper::before{content:'';position:absolute;top:34px;left:6%;right:6%;height:2px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.85) 0 7px,transparent 7px 14px);z-index:0}
.ocf-como-tab{flex:1;min-width:150px;display:flex;flex-direction:column;align-items:center;gap:.3rem;border:none;cursor:pointer;padding:1rem .9rem .85rem;border-radius:16px;position:relative;z-index:1;text-align:center;background:linear-gradient(160deg,#b9a3f9,#8f6bee);box-shadow:0 6px 16px -10px rgba(91,33,182,.4);transition:background .25s,box-shadow .25s,transform .2s}
.ocf-como-tab:hover{transform:translateY(-2px)}
.ocf-como-tab.ativo{background:linear-gradient(160deg,#7c3aed,#5321b8);box-shadow:0 16px 32px -14px rgba(76,29,149,.65);transform:translateY(-3px)}
.ocf-como-step{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.22);border:1.5px solid rgba(255,255,255,.55);margin-bottom:.15rem;transition:background .2s}
.ocf-como-tab.ativo .ocf-como-step{background:#fff}
.ocf-como-num{font-size:.8rem;font-weight:800;color:#fff;transition:color .2s}
.ocf-como-tab.ativo .ocf-como-num{color:#6c35de}
/* branco/pérola em todos os estados — só a intensidade do fundo muda */
.ocf-como-titulo-passo{font-size:.86rem;font-weight:800;color:#fff}
.ocf-como-subtitulo{font-size:.72rem;font-weight:500;color:rgba(255,255,255,.82);line-height:1.35}
.ocf-como-tab.ativo .ocf-como-subtitulo{color:rgba(255,255,255,.95)}

.ocf-como-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;text-align:left}
.ocf-como-card{display:flex;gap:.9rem;align-items:center;background:#fff;border:1px solid #ddd6fe;border-radius:14px;padding:1rem 1.1rem;transition:transform .15s,box-shadow .15s,border-color .15s}
.ocf-como-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px -14px rgba(108,53,222,.4);border-color:#c4b5fd}
/* ── Selo do ícone: mesma linguagem de pill/badge do eyebrow e do chip
   "em breve" — antes o traço do ícone flutuava sozinho, sem moldura. */
/* O gradiente do estado base vive como style inline no HTML (não neste
   arquivo): mesmo com !important, alguma otimização do LiteSpeed do lado
   do servidor derrubava só essa propriedade neste bloco especificamente
   (width/border-radius do mesmo seletor continuavam intactos — não
   consegui isolar a causa a tempo, então contornei via inline, que não
   passa pelo pipeline de CSS otimizado/combinado). */
.ocf-como-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex-shrink:0;border-radius:11px;transition:background .2s}
.ocf-como-icon svg{width:21px;height:21px;fill:none;stroke:#6c35de;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:stroke .2s}
.ocf-como-card:hover .ocf-como-icon{background:#6c35de!important}
.ocf-como-card:hover .ocf-como-icon svg{stroke:#fff}
.ocf-como-card span{font-size:.92rem;font-weight:600;color:#2a1050;line-height:1.45}
.ocf-como-embreve{display:inline-block;font-style:normal;font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#a06010;background:#fff7e0;border:1px solid #f3dfae;border-radius:50px;padding:2px 9px;margin-left:.45rem;vertical-align:1px}
@media(max-width:560px){
  /* Decoração: só 1 mancha + trilha no mobile — pin/bandeira/sparkles
     removidos pra não competir com o conteúdo em tela estreita. */
  .ocf-como-blob-b,.ocf-como-blob-c,.ocf-como-pin,.ocf-como-bandeira,.ocf-como-sparkle{display:none}
  .ocf-como-grid{grid-template-columns:1fr}
  .ocf-como-stepper{gap:.5rem}
  .ocf-como-stepper::before{left:9%;right:9%;top:29px}
  .ocf-como-tab{min-width:0;padding:.8rem .5rem .7rem;border-radius:13px}
  .ocf-como-step{width:26px;height:26px}
  .ocf-como-num{font-size:.7rem}
  .ocf-como-titulo-passo{font-size:.74rem}
  .ocf-como-subtitulo{font-size:.62rem}
  .ocf-como-icon{width:38px;height:38px}
  .ocf-como-icon svg{width:19px;height:19px}
}

/* ══ Hero: faixa de confiança ══ */
.oc-confia{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;margin-top:1.4rem}
.oc-confia-txt{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6a5c88}
.oc-confia-logos{display:flex;align-items:center;gap:1.1rem}
/* !important: as imagens têm width/height HTML explícitos (reservam o espaço
   correto desde o 1º paint), mas o CSS ainda precisa vencer qualquer regra
   genérica de imagem do Elementor que carregue depois deste arquivo. */
.oc-confia-logos img{height:34px!important;width:auto!important;max-width:none!important;object-fit:contain;filter:grayscale(1);opacity:.65;transition:filter .2s,opacity .2s}
.oc-confia-logos img:hover{filter:none;opacity:1}
@media(max-width:600px){.oc-confia{justify-content:center}.oc-confia-logos img{height:28px!important}}

/* ══ Pacotes: faixa "Quero só a Euclídia" ══ */
.oc-so-euclidia{display:flex;flex-direction:column;gap:1.15rem;max-width:1148px;margin:.75rem auto 0;background:linear-gradient(135deg,#1e0a4a 0%,#3d1d8a 55%,#5326b5 100%);border:1px solid rgba(167,139,250,.35);border-radius:20px;padding:1.5rem 1.75rem;color:#fff}
.oc-se-topo{display:flex;align-items:center;gap:1.75rem;flex-wrap:wrap}
.oc-se-compra{display:flex;align-items:center;gap:1.25rem;flex-shrink:0}
/* 3 colunas: com 6 itens fecha em 2 linhas certinhas. Em 2 colunas a faixa
   ficaria alta demais e passaria a competir com os cards de plano. */
.oc-se-lista{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem 1.5rem;list-style:none;margin:0;padding:1.05rem 0 0;border-top:1px solid rgba(167,139,250,.22)}
.oc-se-lista li{position:relative;padding-left:1.35rem;font-size:.845rem;line-height:1.45;color:rgba(255,255,255,.84)}
.oc-se-lista li::before{content:"✓";position:absolute;left:0;top:0;color:#7ee0b0;font-weight:700}
.oc-se-texto{flex:1;min-width:230px}
.oc-se-texto strong{display:block;font-size:1.05rem;font-weight:800;margin-bottom:.25rem}
.oc-se-texto span{font-size:.86rem;color:rgba(255,255,255,.72);line-height:1.55}
.oc-se-preco{text-align:center;flex-shrink:0}
.oc-se-preco b{display:block;font-size:1.75rem;line-height:1.1;font-weight:800;color:#ffd87a}
.oc-se-preco small{font-size:.72rem;color:rgba(255,255,255,.6)}
.oc-se-btn{flex-shrink:0;display:inline-block;background:#f97316;color:#fff!important;font-weight:700;font-size:.92rem;border-radius:50px;padding:.75rem 1.6rem;text-decoration:none;transition:background .2s,transform .15s}
.oc-se-btn:hover{background:#ea6c0a;transform:translateY(-1px)}
@media(max-width:1024px){.oc-so-euclidia{gap:1rem;padding:1.25rem}.oc-se-topo{flex-direction:column;text-align:center;gap:.9rem}.oc-se-texto{min-width:0}.oc-se-lista{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.oc-se-compra{flex-direction:column;gap:.75rem}.oc-se-lista{grid-template-columns:1fr;text-align:left}}

/* ══ Faixa "so a Euclidia": encostar na grade dos planos ═══════════════
   A secao de planos (c9c777e) reserva 112px de padding-bottom. Com a
   faixa logo abaixo, isso abria 122px de vao e fazia ela ler como
   rodape solto em vez de quarta opcao. O respiro grande da secao passa
   a ficar depois da faixa (o container 75669b9 ja tem 40px).
   Se um dia a faixa sair daqui, e so remover esta regra. */
.elementor-79 .elementor-element.elementor-element-c9c777e > .e-con-inner{
  /* !important porque o Elementor regrava post-79.css a cada flush e usa a
     propriedade logica (padding-block-end). Sem isto o vao volta pra 112px
     sozinho na proxima vez que alguem salvar a pagina no editor. */
  padding-block-end:8px!important;
  padding-bottom:8px!important;
}

/* ══ Caderninho: easter egg (ícone fixo discreto) ══ */
.oc-easteregg{height:0!important;min-height:0!important;padding:0!important;margin:0!important;overflow:visible}
#caderninho-icon{position:fixed;left:16px;bottom:16px;z-index:9990;opacity:.38;transform:scale(.82);transition:opacity .25s,transform .25s}
#caderninho-icon:hover{opacity:1;transform:scale(1)}
@media(max-width:600px){#caderninho-icon{left:10px;bottom:10px;transform:scale(.7)}#caderninho-icon:hover{transform:scale(.85)}}

/* ══ Página /experimente/ ══ */
.oc-exp-hero{text-align:center;padding:2.6rem 1.25rem 1.4rem;max-width:760px;margin:0 auto}
.oc-exp-hero h1{font-size:clamp(1.7rem,4vw,2.4rem);font-weight:800;color:#1a0a3c;margin:0 0 .6rem}
.oc-exp-hero p{color:#6a5c88;font-size:.98rem;line-height:1.65;margin:0}
.oc-exp-cta{text-align:center;padding:2rem 1rem 3.5rem}
.oc-exp-cta a.oc-exp-btn{display:inline-block;background:#6c35de;color:#fff!important;font-weight:700;border-radius:50px;padding:.8rem 2rem;text-decoration:none;transition:background .2s}
.oc-exp-cta a.oc-exp-btn:hover{background:#5326b5}
.oc-exp-cta .oc-exp-voltar{display:block;margin-top:.9rem;font-size:.85rem;color:#6c35de}


/* ── Depoimentos + Proposta lado a lado (P3) ─────────────────────────
   7596ba3c virou row com 2 filhos: coluna de depoimentos (42%) e coluna
   da proposta (54%). Em telas estreitas empilham, depoimentos primeiro. */
@media (max-width: 900px) {
  .elementor-element-7596ba3c {
    flex-direction: column !important;
  }
  .elementor-element-7596ba3c > .e-con-inner,
  .elementor-element-7596ba3c > .e-con-inner > .e-con {
    width: 100% !important;
    max-width: 100% !important;
  }
  /* 76721862 (proposta) herda _flex_order_mobile:start do Elementor e
     pula na frente independente da ordem no array — força os depoimentos
     (ocdep0001) primeiro, como no desktop (coluna à esquerda). */
  .elementor-element-ocdep0001 {
    order: -1 !important;
  }
  .elementor-element-76721862 {
    order: 0 !important;
  }
}

/* ══ Planos: selo do Premium e rodape dos cards ═══════════════════════
   Os cards agora preenchem a celula do grid (_flex_size:grow no Elementor),
   entao sobra espaco embaixo. Sem isto o botao fica boiando no meio da
   sobra e os 3 CTAs ficam em alturas diferentes. */
.elementor-element.elementor-element-591b201,
.elementor-element.elementor-element-bdf4e86,
.elementor-element.elementor-element-6aba28e{display:flex;flex-direction:column}
.elementor-element.elementor-element-35f1aa1,
.elementor-element.elementor-element-5717f72,
.elementor-element.elementor-element-d7a25ba{margin-top:auto}

/* Selo do Premium. Vive na CELULA do grid (b321df1), nao no card: o card
   tem overflow:hidden pra arredondar o cabecalho e clipa qualquer coisa
   que cruze a borda. A celula nao clipa, e comeca no mesmo topo do card. */
.elementor-element.elementor-element-b321df1{position:relative}
.elementor-element.elementor-element-b321df1::after{
  content:"";position:absolute;top:-16px;right:-14px;width:56px;height:56px;
  z-index:3;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Ccircle cx='24' cy='24' r='23.5' fill='%23fff'/%3E%3Ccircle cx='24' cy='24' r='20' fill='%23F97316'/%3E%3Ccircle cx='24' cy='24' r='17.2' fill='none' stroke='%23fff' stroke-width='1.4' stroke-opacity='.55'/%3E%3Cpath d='M24 12.4l3.2 6.6 7.2 1-5.2 5.1 1.2 7.2-6.4-3.4-6.4 3.4 1.2-7.2-5.2-5.1 7.2-1z' fill='%23fff'/%3E%3C/svg%3E") center/contain no-repeat;
  filter:drop-shadow(0 5px 12px rgba(46,16,101,.3));
}
@media(max-width:1024px){
  .elementor-element.elementor-element-b321df1::after{width:44px;height:44px;top:-12px;right:-8px}
}

/* ══════════════════════════════════════════════════════════════════════
   FAQ — accordion ElementsKit (Home e página 109)   [19/07/2026]

   Alinha o FAQ aos cards de plano: borda #E9E2F8, raio 16px e a mesma
   sombra. O cabeçalho leva um tom lavanda para se separar da resposta.

   O ícone é desenhado em CSS, não é fonte. O <i class="icon-arrow-down">
   do widget vem do plugin Skyboot, cuja fonte NÃO é carregada no front
   destas páginas: o elemento fica com font-family herdada, ::before sem
   content e caixa de 0x0. Ou seja, a setinha nunca apareceu, nem antes.
   Duas barras em ::before/::after resolvem sem depender de fonte nenhuma.

   Sobre o !important: o widget amarra cor e tipografia a __globals__, e o
   Elementor emite var(--e-global-*) na folha da página, carregada depois
   desta. Desamarrar exigiria mexer no preset global, que vale para o site
   inteiro. O estado aberto se lê por [aria-expanded="true"], porque a
   classe .collapsed do ElementsKit fica em todos os itens.
   ══════════════════════════════════════════════════════════════════════ */

.elementskit-accordion .elementskit-card {
  background: #fff !important;
  border: 1px solid #E9E2F8 !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 34px rgba(46, 16, 101, .07);
  margin-bottom: 12px !important;
  overflow: hidden;
  transition: box-shadow .2s, border-color .2s;
}
.elementskit-accordion .elementskit-card:hover { border-color: #D9CEF5 !important; }
.elementskit-accordion .elementskit-card:last-child { margin-bottom: 0 !important; }

.elementskit-accordion .elementskit-card-header {
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  margin: 0 !important;
}
.elementskit-accordion .elementskit-card-header > a {
  display: flex !important;
  align-items: center;
  gap: 14px;
  background: #F4F1FE !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 18px 20px !important;
  transition: background .2s;
}
.elementskit-accordion .elementskit-card-header > a:hover { background: #EDE7FD !important; }
.elementskit-accordion .elementskit-card-header > a[aria-expanded="true"] {
  box-shadow: inset 0 -1px 0 #E4DBFB;
}

.elementskit-accordion .ekit-accordion-title {
  flex: 1;
  font-family: "Plus Jakarta Sans", Inter, sans-serif !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: #331869 !important;
  padding: 0 !important;
}

/* chip com o sinal desenhado: + fechado, − aberto */
.elementskit-accordion .ekit_accordion_icon_group {
  position: relative;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  margin: 0 !important;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #E4DBFB;
  color: #7958D7;
  display: block !important;
  transition: background .2s, border-color .2s, color .2s;
}
.elementskit-accordion .ekit_accordion_icon_group > div { display: none !important; }
.elementskit-accordion .ekit_accordion_icon_group::before,
.elementskit-accordion .ekit_accordion_icon_group::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: currentColor;
  border-radius: 1px;
}
.elementskit-accordion .ekit_accordion_icon_group::before {
  width: 11px; height: 2px;
  transform: translate(-50%, -50%);
}
.elementskit-accordion .ekit_accordion_icon_group::after {
  width: 2px; height: 11px;
  transform: translate(-50%, -50%);
  transition: transform .2s, opacity .2s;
}
.elementskit-accordion .elementskit-card-header > a[aria-expanded="true"] .ekit_accordion_icon_group {
  background: #7958D7;
  border-color: #7958D7;
  color: #fff;
}
.elementskit-accordion .elementskit-card-header > a[aria-expanded="true"] .ekit_accordion_icon_group::after {
  transform: translate(-50%, -50%) scaleY(0);
  opacity: 0;
}

.elementskit-accordion .elementskit-card-body {
  background: #fff !important;
  color: #4B4562 !important;
  font-family: Inter, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  padding: 18px 20px 20px 64px !important;
  border: 0 !important;
}
.elementskit-accordion .elementskit-card-body p { margin: 0 !important; }

.elementskit-accordion .elementskit-card-header > a:focus-visible {
  outline: 3px solid #7958D7;
  outline-offset: -3px;
}

@media (max-width: 767px) {
  .elementskit-accordion .elementskit-card-header > a { padding: 15px 16px !important; gap: 11px; }
  .elementskit-accordion .ekit-accordion-title { font-size: 15.5px !important; }
  .elementskit-accordion .elementskit-card-body { padding: 16px !important; }
}
