/* Protocolo Limpa Dor - estilos proprios (sem frameworks, sem recursos externos) */

/* Inter (OFL), auto-hospedada. Variavel, eixo wght 100-900. */
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('/assets/fonts/inter-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('/assets/fonts/inter-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --accent:#16a34a;--accent-hover:#2EAC5C;--accent-c1:#0d9542;
  --accent-10:rgba(22,163,74,.1);--accent-50:rgba(22,163,74,.5);
  --bg:#ffffff;--c1:#ededed;--c2:#dbdbdb;
  --heading:#030712;--text:#6b7280;--success:#00c950;
  --radius:16px;--element:56px;
  --font:Inter,"sans serif",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Noto Color Emoji","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
}

*,*::before,*::after{box-sizing:border-box;border:0 solid #e5e7eb}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}
h1,h2,h3,p,ul,ol,figure{margin:0}
ul,ol{list-style:none;padding:0}
img,svg,iframe,audio{display:block;max-width:100%}
img{height:auto}
button{font:inherit;color:inherit;background:transparent;padding:0;margin:0;cursor:pointer;text-align:inherit}
input{font:inherit}
[hidden]{display:none!important}

/* ---------- estrutura ---------- */
.main-content{display:flex;flex-direction:column;gap:16px;padding:12px;min-height:95vh;min-height:95svh;justify-content:flex-start;font-family:var(--font);font-size:16px;line-height:1.4;color:var(--text);transition:opacity .2s ease}
.main-content{overflow-x:clip}
.main-content.out{opacity:0}
@media (min-width:768px){.main-content{padding:20px;gap:24px}}
.cont{position:relative;width:100%;max-width:28rem;margin:0 auto}
.row{display:flex;flex-direction:row;flex-wrap:wrap;margin:0 -.25rem}
.lw{position:relative;min-width:0;padding:.25rem;container-type:inline-size;animation:fadeIn .2s cubic-bezier(.4,0,.2,1) both}
.lw.mx-auto{margin-left:auto;margin-right:auto}
.lw.mr-auto{margin-right:auto}
.lw.ml-auto{margin-left:auto}
.tail{padding:2.5rem 0}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* ---------- cabecalho ---------- */
.hdr{position:relative;display:flex;flex-direction:column;gap:12px;width:100%;max-width:28rem;margin:0 auto}
.hdr-l1{position:relative;display:flex;justify-content:center}
.logo{width:6rem}
@media (min-width:768px){.logo{width:8rem}}
.logo-box{position:relative;padding-bottom:100%;overflow:hidden}
.logo-box img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.back{position:absolute;left:0;top:0;z-index:3;margin:-14px;padding:14px;line-height:0;color:var(--heading)}
.back svg{width:13px;height:14.5px;margin:.8px .5px}
.bar{position:relative;width:100%;height:8px;border-radius:9999px;overflow:hidden}
.bar::before{content:"";position:absolute;inset:0;background:var(--accent);opacity:.1}
.bar i{position:absolute;left:0;top:0;bottom:0;background:var(--accent);transition:all .7s ease}

/* ---------- rich text ---------- */
.content{line-height:1.4;max-width:100%}
.content h1{font-size:32px}
.content h2{font-size:25.6px}
.content h3{font-size:20.8px}
.content h1,.content h2,.content h3{line-height:1.1;font-weight:700;color:var(--heading);font-family:var(--font)}
.content strong,.content b{font-weight:bolder}
.content em{font-style:italic}
.content u{text-decoration:underline}
.content s{text-decoration:line-through}
.content p+p,.content p+ul,.content p+ol,.content ul+p,.content ol+p,.content ul+ul,.content ol+ol,
.content h1+p,.content h2+p,.content h3+p,.content h1+ul,.content h2+ul,.content h3+ul,.content h1+ol,.content h2+ol,.content h3+ol{margin-top:.75rem}
.content p+h1,.content p+h2,.content p+h3,.content ul+h1,.content ul+h2,.content ul+h3,.content ol+h1,.content ol+h2,.content ol+h3{margin-top:.4rem}
.content p br{content:" ";height:0;display:block;padding-bottom:.5rem;margin-bottom:.5rem}
.content .ql-align-center{text-align:center}
.content .ql-align-right{text-align:right}
.content .ql-align-justify{text-align:justify}
.content ol{list-style:decimal}
.content ul{list-style:disc}
.content ol,.content ul{padding-left:1.2rem}
.content li::marker{font-weight:600;color:#09090b}
.content a{color:#2563eb;text-decoration:underline}
.content .ql-size-huge{font-size:2.5em;line-height:1}
.content .ql-size-large{font-size:1.5em;line-height:1}
.content .ql-size-small{font-size:.75em;line-height:1.25;display:inline-block}
.py-1{padding:.25rem 0}
.py-2{padding:.5rem 0}
.break-words{word-break:break-word}

/* ---------- imagem ---------- */
.imgl{overflow:hidden;border-radius:var(--radius)}
.ibox{position:relative;width:100%;overflow:hidden}
.ibox img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}

/* ---------- botao (bolha 3D) ---------- */
.bw{position:relative;max-width:28rem;margin:0 auto}
.bg3{--b-bg:var(--accent);--b-bd:var(--accent-c1);position:relative;display:grid;padding-bottom:.5rem;transition:all .2s ease}
.bg3.success{--b-bg:#17a34a;--b-bd:#0e9542}
.bg3 .face{position:absolute;left:0;top:0;width:100%;height:calc(100% - .5rem);overflow:hidden;border-radius:var(--radius);background:var(--b-bg);box-shadow:0 .5rem 0 0 var(--b-bd);transition:all .2s ease}
.bg3 .pulse{position:absolute;left:0;top:0;width:100%;height:calc(100% - .5rem);border-radius:var(--radius);background:var(--b-bg);animation:bounceBtn 1s infinite;pointer-events:none}
.bg3 .btn{position:relative;z-index:1;display:block;width:100%;min-height:var(--element);padding:.55rem 1rem;border-radius:var(--radius);background:transparent;color:#fff;font-size:16px;font-weight:500;line-height:1.5;text-align:center;font-family:var(--font);-webkit-user-select:none;user-select:none}
.bg3:active{transform:scale(.99)}
@media (hover:hover){
  .bg3:not(.dis):hover{margin-top:-.25rem;padding-bottom:.75rem}
  .bg3:not(.dis):hover .face{height:calc(100% - .75rem);background:#2EAC5C;box-shadow:0 .75rem 0 0 var(--b-bd)}
  .bg3:not(.dis):hover .pulse{height:calc(100% - .75rem)}
}
.bg3.dis{opacity:.75}
.bg3.dis .btn{cursor:not-allowed}
.bg3.dis .pulse{display:none}
@keyframes bounceBtn{0%{opacity:1;transform:scaleY(.95)}50%{opacity:0;transform:scaleY(1.3) scaleX(1.04)}to{opacity:0;transform:scaleY(.95)}}
.shake{animation:shake .3s ease-in-out}
@keyframes shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}

/* ---------- opcoes ---------- */
.opts-intro{margin:.75rem 0 1.5rem}
.opts{display:grid;gap:.5rem;margin-bottom:2px}
.opts.gap-4{gap:1rem}
.opts.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.opts.grid-cols-1{grid-template-columns:minmax(0,1fr)}
.oi{display:grid;transition:all .2s ease}
.m-default{--bg0:#fff;--bgh:#fff;--fg0:var(--heading);--bd0:var(--c2);--bdh:var(--accent);--bga:var(--accent);--fga:#fff;--bda:var(--accent);--sch:1;--sca:1;
  --ib:#fff;--ic:var(--heading);--ibd:var(--c2);--ibdh:var(--accent)}
.m-contrast{--bg0:var(--accent-10);--bgh:var(--accent-10);--fg0:var(--heading);--bd0:var(--accent-50);--bdh:var(--accent);--bga:var(--accent-10);--fga:var(--heading);--bda:var(--accent);--sch:1.01;--sca:1.02;
  --ib:#fff;--ic:var(--accent);--ibd:var(--accent);--ibdh:var(--accent)}
.m-fetured{--bg0:var(--accent);--bgh:#2EAC5C;--fg0:#fff;--bd0:var(--accent);--bdh:#2EAC5C;--bga:#2EAC5C;--fga:#fff;--bda:#2EAC5C;--sch:1.02;--sca:1.02;
  --ib:rgba(255,255,255,.1);--ic:#fff;--ibd:rgba(255,255,255,.5);--ibdh:rgba(255,255,255,.5)}
.ob{position:relative;display:block;width:100%;overflow:hidden;border-radius:var(--radius);text-align:left;background:var(--bg0);color:var(--fg0);border:var(--bw,1px) solid var(--bd0);box-shadow:var(--sh,none);transition:all .2s ease;font-family:var(--font)}
@media (hover:hover){
  .ob:hover{border-color:var(--bdh);background:var(--bgh);box-shadow:var(--shh,var(--sh,none));transform:scale(var(--sch))}
  .ob:hover .ico{border-color:var(--ibdh)}
}
.oi.active .ob{background:var(--bga);color:var(--fga);border-color:var(--bda);transform:scale(var(--sca))}
.oi.active .ico{border-color:var(--ibdh)}
.ow{display:flex;height:100%;flex-direction:row}
.ow.reverse{flex-direction:row-reverse}
.ow.vertical{flex-direction:column}
.oimg{position:relative;flex:0 1 4.5rem;min-width:3rem;width:100%;align-self:stretch}
.ow.vertical .oimg{flex:none;max-width:none;min-width:0;width:100%}
.oimg.sq{aspect-ratio:1/1;align-self:flex-start}
.oimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.oimg.auto{align-self:auto}
.oimg.auto img{position:static;height:auto}
.oemo{display:flex;align-items:center;justify-content:center;flex:none;width:3.75rem;padding:.5rem;font-size:2rem;line-height:3rem;text-align:center}
.ow.vertical .oemo{width:100%}
.obody{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem;width:100%;height:100%;min-height:58px}
.obody.emo{min-height:0}
.obody.ni{min-height:56px}
.ow:not(.vertical):not(.reverse) .obody.emo{padding-left:0}
.ow.reverse:not(.vertical) .obody.emo{padding-right:0}
.olab{display:flex;align-items:flex-start;gap:.25rem;width:100%}
.olab>div{display:flex;flex-direction:column;justify-content:center;width:100%;font-size:1rem;line-height:1.4}
.olab>div.px{padding:0 .25rem}
.olab>div.opr{padding:0 .25rem 0 0}
.olab>div.opl{padding:0 0 0 .25rem}
.ico{position:relative;flex:none;width:26px;height:26px;border:1px solid var(--ibd);background:var(--ib);color:var(--ic);border-radius:9999px;transition:all .2s ease}
.ico.sq{border-radius:6px}
.ico svg{position:absolute;left:50%;top:50%;width:16px;height:16px;transform:translate(-50%,-50%)}
.ico.chk svg{opacity:0;transition:opacity .2s ease}
.oi.active .ico.chk svg{opacity:1}
.dataform-required{position:relative}

/* ---------- loading ---------- */
.ld{display:flex;flex-direction:column;gap:.5rem;width:100%}
.ld-in{position:relative;padding:.25rem 0}
.ld-h{display:flex;justify-content:space-between;padding-bottom:.25rem;font-size:14px;line-height:20px;font-weight:600;color:var(--heading)}
.ld-t{width:100%}
.ld-p{width:2rem;display:flex;justify-content:flex-end;flex:none}
.ld-tr{display:flex;position:relative;overflow:hidden;background:var(--c1);border-radius:12px}
.ld-bar{min-width:1px;height:12px;width:0;border-radius:12px;background:var(--accent);transition:width .05s linear}
.ld-d{padding-bottom:.25rem}

/* ---------- metrica ---------- */
.mt{display:grid;gap:.5rem;width:100%}
.mt-in{position:relative;padding:.25rem}
.mt-h{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:.5rem;font-size:14px;line-height:21px}
.mt-h b{font-weight:600;color:var(--heading)}
.mt-tr{display:flex;position:relative;border-radius:8px;background:var(--c2)}
.mt-bar{height:.5rem;min-width:.1rem;width:0;border-radius:8px;background:var(--accent);transition:width 1s ease}
.mt-bar.red{background:#ef4444}
.mt-bar.green{background:#22c55e}
.mt-dot{position:absolute;top:0;left:0;height:100%;width:0;transition:width 1s ease}
.mt-dot i{position:absolute;right:0;top:50%;transform:translate(50%,-50%);padding:.4rem;border:4px solid #cccccc;background:#fff;border-radius:9999px}

/* ---------- notificacao ---------- */
.nt{position:relative;width:100%;opacity:0;transform:translateY(5rem) scale(.98);transition:all .5s}
.nt.in{opacity:1;transform:none}
.nt-in{position:relative}
.nt-sh{position:absolute;top:0;left:0;width:100%;height:100%;margin-top:.5rem;background:var(--c2);border-radius:var(--radius);filter:blur(3px)}
.nt-card{position:relative;overflow:hidden;padding:.75rem 1rem;border-radius:var(--radius)}
@media (min-width:768px){.nt-card{padding:1rem 1.25rem}}
.nt-card>*+*{margin-top:.5rem}
.nt-card.success{background:var(--success);color:#fff}
.nt-card.white{background:#fff;color:#000}
.nt-t{font-weight:600;font-size:16px;line-height:1.25}
.nt-x{font-size:14px;line-height:20px}
.nt-card .content{line-height:inherit}

/* ---------- audio (estilo mensagem de voz) ---------- */
.au{position:relative;overflow:hidden;border-radius:12px;background:#efeae2;padding:32px;container-type:normal}
@container (max-width:319px){.au{padding:16px}}
.au-bg{position:absolute;inset:0;opacity:.5;background-image:url('/assets/img/bg-whatsapp.png');background-repeat:repeat;background-size:412.5px 749.25px;pointer-events:none}
.au-bal{position:relative;background:#fff;color:#9b8e8d;border-radius:0 12px 12px 12px;padding:8px 12px;box-shadow:0 1px .5px rgba(11,20,26,.13)}
.au-tail{position:absolute;top:0;right:100%;width:8px;height:12px;color:#fff;line-height:0}
.au-tail svg{width:8px;height:13px}
.au-row{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px}
.au-pp{flex:none;width:20px;height:20px;color:#9b8e8d;line-height:0;display:flex;align-items:center;justify-content:center;position:relative}
.au-pp::before{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%)}
.au-pp:hover{color:#8b7e7e}
.au-pp svg{width:20px;height:20px}
.au-pp svg.pl{width:30px;height:30px;max-width:none;flex:none;margin:-5px;transform:translateX(-2.8px)}
.au-wave{position:relative;flex:1 1 0;min-width:0;height:40px}
.au-bars{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.au-bars i{display:block;width:4px;border-radius:4px;background:#ced0d1;opacity:.75}
.au-bars.prog{clip-path:inset(0 calc(100% - var(--p,0%)) 0 0);transition:clip-path .2s}
.au-bars.prog i{background:#858a8d;opacity:1}
.au-dot{position:absolute;top:50%;left:var(--p,0%);width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:9999px;background:#50c2f7;pointer-events:none;transition:left .2s}
.au-rng{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;-webkit-appearance:none;appearance:none}
.au-time{position:absolute;top:100%;left:4px;margin-top:-4px;font:12px/16px Arial,sans-serif;color:#8696a0}
.au-av{position:relative;flex:none;width:56px;height:56px}
@container (max-width:319px){.au-av{width:48px;height:48px}}
.au-av img{width:100%;height:100%;border-radius:9999px;object-fit:cover}
.au-mic{position:absolute;left:-4px;bottom:-4px;width:24px;height:33px;line-height:0}
.au-mic svg{width:24px;height:33px}

/* ---------- video ---------- */
.vid{position:relative;overflow:hidden;border-radius:var(--radius);background:#000;aspect-ratio:16/9}
.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---------- depoimentos ---------- */
.qs{display:grid;gap:.5rem}
.qc{display:grid;padding:16px;border-radius:var(--radius);background:#fff;color:var(--text);border:1px solid var(--c1)}
.qc-r{display:flex;align-items:flex-start;gap:.75rem}
.qc-av{position:relative;flex:none;width:40px;height:40px}
.qc-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:9999px}
.qc-b{width:100%;min-width:0}
.qc-n{font-weight:600;color:var(--heading)}
.qc-a{font-size:12px;line-height:16px}
.qc-x{padding-top:.5rem;font-size:16px;line-height:1.4;word-break:break-word}

/* ---------- carrossel ---------- */
.cr{position:relative;margin:0 -12px}
.cr-vp{position:relative;overflow:hidden}
.cr-tk{display:flex;gap:9px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:0 20px;overscroll-behavior-x:contain}
.cr-tk::-webkit-scrollbar{display:none}
.cr-sl{flex:0 0 100%;min-width:0;scroll-snap-align:center}
.cr-card{position:relative;overflow:hidden;border:1px solid var(--c1);border-radius:8px}
.cr-im{position:relative;overflow:hidden;aspect-ratio:1/1}
.cr-im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cr-tx{padding:1rem 0}
.cr-pg{position:relative;width:100%;padding:1rem 0}
.cr-dots{position:relative;height:.5rem;display:flex;justify-content:center;gap:0;padding-left:16px}
.cr-dots button{width:8px;height:8px;margin:0 4px;border-radius:9999px;background:var(--accent);opacity:.25;padding:0;transition:all .2s;transform:scale(.66)}
.cr-dots button.on{opacity:1;transform:scale(1)}
.cr-dots button.nb{transform:scale(.66)}

/* ---------- argumentos (antes/depois) ---------- */
.ag{display:grid;gap:.5rem}
.ag.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ag.grid-cols-1{grid-template-columns:minmax(0,1fr)}
.ag-c{display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius);border:1px solid var(--c1);position:relative}
.ag-c.reverse{flex-direction:column-reverse}
.ag-im{position:relative;text-align:center;aspect-ratio:1/1}
.ag-im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ag-tx{padding:16px}

/* ---------- preco ---------- */
.pr{position:relative;overflow:hidden;border-radius:var(--radius);border:1px solid var(--success);background:#fff}
.pr-in{display:flex;align-items:center;gap:1rem;padding:.5rem}
.pr-l{display:flex;flex:1 1 0%;align-items:center;gap:.5rem;min-width:0}
.pr-t{display:flex;flex-direction:column;padding:.25rem 0;font-size:20px;line-height:28px;color:var(--heading)}
.pr-v{position:relative;display:inline-block;max-width:50%;padding:.5rem}
.pr-bg{position:absolute;inset:0;border-radius:12px;background:var(--c1);opacity:.75}
.pr-v>*:not(.pr-bg){position:relative}
.pr-b{font-size:12px;line-height:1;opacity:.7;color:var(--heading)}
.pr-n{padding:.2rem 0;font-size:24px;line-height:1;font-weight:700;color:var(--heading);text-wrap:balance}
.pr-a{font-size:12px;line-height:16px;text-align:right;opacity:.7;color:var(--heading)}

/* fallback p/ navegadores sem aspect-ratio (Safari<15, Chrome<88, WebViews antigos) */
@supports not (aspect-ratio:1/1){
  .oimg.sq::before,.cr-im::before,.ag-im::before{content:"";display:block;padding-top:100%}
  .vid::before{content:"";display:block;padding-top:56.25%}
}

@media (prefers-reduced-motion:reduce){
  .lw,.nt,.bar i,.mt-bar,.mt-dot{animation:none!important;transition:none!important}
}
