/*
 * Ponte entre o Elementor e o site.css do protótipo.
 * Carregado depois do CSS do Elementor e antes do site.css.
 *
 * Regra geral: containers e widgets do Elementor recebem as mesmas classes do protótipo
 * (sec, wrap, card, case, h2, lead, rotulo...). Esta folha tira o layout padrão do
 * Elementor desses elementos para o site.css decidir, e veste os widgets nativos
 * (botão, contador, formulário) com o visual do protótipo.
 */

/* 1. Containers com a classe "dmp": sem flex, gap, padding e largura padrão do Elementor.
      Especificidade (0,1,0): ganha do Elementor (vem depois) e perde para o site.css (vem depois desta). */
.dmp:where(.e-con){display:block;padding:0;gap:0;width:auto;max-width:none;min-height:0;margin:0;flex-direction:initial;flex-wrap:initial;justify-content:initial;align-items:initial;align-content:initial;--kit-widget-spacing:0px;--widgets-spacing:0px}
/* O Elementor aplica flex-direction:var(--flex-direction) com duas classes e define a variável como column.
   Aqui a variável volta ao padrão do CSS (row); o site.css, reforçado pelo gerador, decide quando é coluna. */
.e-con.e-flex.dmp{--flex-direction:row;--flex-wrap:nowrap;--flex-grow:0;--flex-shrink:1;--flex-basis:auto}
.dmp>.elementor-widget{width:auto}
/* <ol> do protótipo que virou container (linha do tempo do Método): mantém a margem padrão da lista */
.dmp.dmp-lista{margin-block:1em}

/* Logado no WordPress: o cabeçalho fixo desce para não ficar sob a barra de administração */
body.admin-bar .topo.e-con{top:32px}
@media (max-width:782px){body.admin-bar .topo.e-con{top:46px}}

/* 2. HTML do protótipo dentro de um widget HTML: o wrapper do Elementor some do layout. */
.elementor-widget.dmp-c,.elementor-widget.dmp-c>.elementor-widget-container{display:contents!important}

/* 3. Títulos e textos (widget Título com a classe dmp-t): o título guarda o elemento original do protótipo
      (<h2 class="h2">, <p class="lead">...) dentro de um <div class="elementor-heading-title"> neutro. */
/* No site publicado o wrapper e o div do título somem do layout (display:contents): o elemento original
   vira filho direto do container, como no protótipo. No editor eles continuam como caixa, para seleção. */
body:not(.elementor-editor-active) .dmp-t.elementor-widget,body:not(.elementor-editor-active) .dmp-t>.elementor-widget-container,body:not(.elementor-editor-active) .dmp-t .elementor-heading-title{display:contents}
:where(.dmp) .dmp-t .elementor-heading-title{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;text-wrap:inherit;line-height:inherit;margin:0;padding:0}
/* Regras :first-child/:last-child e ">" do protótipo: o DOM ainda tem os wrappers, então são repetidas aqui */
.frente__txt>.elementor-widget-heading:not(:last-child) .elementor-heading-title>p{margin-bottom:1em}
.artigo__corpo>.elementor-widget-heading:not(:first-child) .elementor-heading-title>h3{margin-top:40px}
.grade--3 .item--destaque>.dmp-t .elementor-heading-title>h3{grid-column:2;margin:0}
.grade--3 .item--destaque>.dmp-t .elementor-heading-title>p{grid-column:2}
.h1-display .l>.dmp-t .elementor-heading-title>span{display:inline-block}
/* Seletores do protótipo com ">" que agora passam por um widget HTML */
.case--logo>.dmp-c>:not(.case__bg),.case--logo>.dmp-t .elementor-heading-title>*{max-width:52%}
@media (max-width:640px){.case--logo>.dmp-c>:not(.case__bg),.case--logo>.dmp-t .elementor-heading-title>*{max-width:none}}
:where(.dmp) .elementor-widget-text-editor{color:inherit;font:inherit}
:where(.dmp) .elementor-widget-text-editor>:last-child{margin-bottom:0}

/* No editor do Elementor, nada fica escondido esperando animação. */
.elementor-editor-active .js .carregando .h1-display .l>span,.elementor-editor-active .h1-display .l>span{transform:none!important}
.elementor-editor-active .rv.espera{opacity:1!important;transform:none!important}

/* 4. Botões (widget Botão com a classe dmp-btn) = .btn do protótipo */
.elementor-widget.dmp-btn .elementor-button-wrapper{display:flex}
.elementor-widget.dmp-btn .elementor-button{--bg:var(--azul);--fg:var(--grafite);display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;border:1.5px solid var(--bg);background:var(--bg);color:var(--fg);fill:var(--fg);font:600 15.5px/1 var(--f-texto);letter-spacing:0;text-transform:none;text-decoration:none;box-shadow:none;cursor:pointer;transition:transform .35s var(--ease),background .25s,color .25s,border-color .25s}
.elementor-widget.dmp-btn .elementor-button:hover,.elementor-widget.dmp-btn .elementor-button:focus{--bg:#3BBBE0;transform:translateY(-2px);background:var(--bg);color:var(--fg)}
.elementor-widget.dmp-btn .elementor-button:visited{color:var(--fg)}
.elementor-widget.dmp-btn .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:10px;flex-direction:row}
.elementor-widget.dmp-btn .elementor-button-content-wrapper,.elementor-widget.dmp-obj .elementor-button-content-wrapper,.elementor-widget.dmp-form .elementor-button-content-wrapper,
.elementor-widget.dmp-btn .elementor-button-text,.elementor-widget.dmp-obj .elementor-button-text,.elementor-widget.dmp-form .elementor-button-text{color:inherit;font:inherit;letter-spacing:inherit;padding:0;margin:0;border:0;background:none}
.elementor-widget.dmp-btn .elementor-button-icon{display:inline-flex;margin:0;font-size:18px}
.elementor-widget.dmp-btn .elementor-button-icon svg{width:18px;height:18px;fill:currentColor}
.elementor-widget.dmp-btn.dmp-btn--seta .elementor-button-icon{order:2}
.elementor-widget.dmp-btn--ghost .elementor-button{--bg:transparent;--fg:var(--branco);border-color:rgba(255,255,255,.35)}
.elementor-widget.dmp-btn--ghost .elementor-button:hover,.elementor-widget.dmp-btn--ghost .elementor-button:focus{--bg:transparent;border-color:var(--branco)}
.elementor-widget.dmp-btn--escuro .elementor-button{--bg:var(--grafite);--fg:var(--branco)}
.elementor-widget.dmp-btn--escuro .elementor-button:hover,.elementor-widget.dmp-btn--escuro .elementor-button:focus{--bg:#000}
.elementor-widget.dmp-btn--branco .elementor-button{--bg:var(--branco);--fg:var(--grafite)}
.elementor-widget.dmp-btn--branco .elementor-button:hover{--bg:var(--offwhite)}
.elementor-widget.dmp-btn--zap .elementor-button{--bg:#25D366;--fg:#0B3B1F}
.elementor-widget.dmp-btn--zap .elementor-button:hover,.elementor-widget.dmp-btn--zap .elementor-button:focus{--bg:#3BE07A}
.elementor-widget.dmp-btn--linha .elementor-button{--bg:transparent;--fg:var(--azul);border-color:var(--azul);min-height:44px;padding:0 18px;font-size:14.5px}
.elementor-widget.dmp-btn--linha .elementor-button:hover,.elementor-widget.dmp-btn--linha .elementor-button:focus{--bg:var(--azul);--fg:var(--grafite)}
.sec--branco .elementor-widget.dmp-btn--ghost .elementor-button,.sec--off .elementor-widget.dmp-btn--ghost .elementor-button{--fg:var(--grafite);border-color:rgba(30,29,34,.3)}
@media (max-width:980px){.topo .elementor-widget.dmp-btn{display:none}}

/* 5. Objetivos (widget Botão com a classe dmp-obj) = .obj do protótipo */
.elementor-widget.dmp-obj,.elementor-widget.dmp-obj .elementor-button-wrapper{height:100%}
.elementor-widget.dmp-obj .elementor-button{display:flex;align-items:center;width:100%;height:100%;min-height:76px;padding:16px 20px;border:0;border-radius:var(--raio);background:var(--grafite);color:var(--branco);text-decoration:none;text-align:left;white-space:normal;font-family:var(--f-display);font-weight:500;font-size:clamp(16px,1.3vw,19px);line-height:1.25;letter-spacing:0;box-shadow:none;transition:transform .35s var(--ease),background .25s}
.elementor-widget.dmp-obj .elementor-button:hover,.elementor-widget.dmp-obj .elementor-button:focus{transform:translateY(-3px);background:#000;color:var(--branco)}
.elementor-widget.dmp-obj .elementor-button-content-wrapper{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;flex-direction:row}
.elementor-widget.dmp-obj .elementor-button-icon{order:2;flex:none;display:inline-flex;margin:0;font-size:22px;color:#25D366;fill:#25D366;transition:transform .35s var(--ease)}
.elementor-widget.dmp-obj .elementor-button-icon svg{width:22px;height:22px;fill:currentColor}
.elementor-widget.dmp-obj .elementor-button:hover .elementor-button-icon{transform:scale(1.12)}
.elementor-widget.dmp-obj--destaque .elementor-button{background:var(--roxo)}
.elementor-widget.dmp-obj--destaque .elementor-button:hover,.elementor-widget.dmp-obj--destaque .elementor-button:focus{background:#6A2E77}

/* 6. Números (widget Contador com a classe dmp-num) = .num__v / .num__l do protótipo */
.elementor-widget.dmp-num .elementor-counter{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0}
/* flex: o Elementor põe quebras de linha entre prefixo, número e sufixo; em flex esses espaços somem (como no protótipo) */
.elementor-widget.dmp-num .elementor-counter-number-wrapper{order:1;display:flex;align-items:baseline;justify-content:flex-start;flex-wrap:nowrap;white-space:nowrap;text-align:left;font-family:var(--f-display);font-weight:700;font-size:clamp(38px,3.6vw,56px);line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--grafite)}
.elementor-widget.dmp-num .elementor-counter-number-prefix,.elementor-widget.dmp-num .elementor-counter-number-suffix{flex-grow:0;text-align:left;color:var(--roxo);white-space:nowrap}
.elementor-widget.dmp-num .elementor-counter-number-suffix{font-size:.55em;margin-left:4px}
.elementor-widget.dmp-num .elementor-counter-number{flex-grow:0}
.elementor-widget.dmp-num .elementor-counter-title{order:2;font-family:var(--f-texto);font-size:14px;font-weight:400;line-height:1.4;letter-spacing:0;color:#6B6A70;text-align:left;margin-top:10px;flex:none}

/* 7. Formulário (widget Formulário com a classe dmp-form) = .form / .campo do protótipo */
.elementor-widget.dmp-form .elementor-field-group .elementor-field-label{display:block;font:500 13px/1.6 var(--f-texto);color:var(--cinza);margin:0 0 6px;padding:0}
.elementor-widget.dmp-form .elementor-field-group .elementor-field-textual,.elementor-widget.dmp-form .elementor-field-group .elementor-select-wrapper select{width:100%;min-height:50px;border-radius:10px;border:1px solid var(--borda-2);background:var(--grafite);color:var(--branco);padding:0 14px;font:16px var(--f-texto);box-shadow:none;transition:border-color .25s}
.elementor-widget.dmp-form .elementor-field-group .elementor-field-textual:focus,.elementor-widget.dmp-form .elementor-field-group .elementor-select-wrapper select:focus{outline:none;border-color:var(--amarelo);box-shadow:none}
.elementor-widget.dmp-form .elementor-field-group .elementor-field-textual::placeholder{color:#6B6A70}
.elementor-widget.dmp-form .elementor-select-wrapper .select-caret-down-wrapper{color:var(--cinza);inset-inline-end:14px}
.elementor-widget.dmp-form .elementor-select-wrapper{background:transparent;border:0;padding:0}
.elementor-widget.dmp-form .e-form__buttons{margin-top:6px}
.elementor-widget.dmp-form .e-form__buttons .elementor-button{--bg:var(--azul);--fg:var(--grafite);display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;padding:0 26px;border-radius:999px;border:1.5px solid var(--bg);background:var(--bg);color:var(--fg);fill:var(--fg);font:600 15.5px/1 var(--f-texto);letter-spacing:0;text-transform:none;transition:transform .35s var(--ease),background .25s}
.elementor-widget.dmp-form .e-form__buttons .elementor-button:hover{--bg:#3BBBE0;transform:translateY(-2px)}
.elementor-widget.dmp-form .e-form__buttons .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:10px;flex-direction:row}
.elementor-widget.dmp-form .e-form__buttons .elementor-button-icon{order:2;margin:0;font-size:18px}
.elementor-widget.dmp-form .e-form__buttons .elementor-button-icon svg{width:18px;height:18px;fill:currentColor}
.elementor-widget.dmp-form .elementor-message{font-size:13.5px;color:var(--cinza);margin-top:10px}
.elementor-widget.dmp-form .elementor-message.elementor-message-success{color:#25D366}
/* O Elementor gera fundo branco nos campos por elemento (seletor forte); o visual do protótipo vence aqui. */
.elementor-widget.dmp-form .elementor-field-group .elementor-field,.elementor-widget.dmp-form .elementor-field-group .elementor-field-textual,.elementor-widget.dmp-form .elementor-field-group select{background-color:var(--grafite)!important;color:var(--branco)!important;border-color:var(--borda-2)!important}
.elementor-widget.dmp-form .elementor-field-group .elementor-field-textual:focus,.elementor-widget.dmp-form .elementor-field-group select:focus{border-color:var(--amarelo)!important}
.elementor-widget.dmp-form .elementor-field-group textarea.elementor-field-textual{min-height:110px;padding:12px 14px;line-height:1.5;resize:vertical}
.elementor-widget.dmp-form select option{background:var(--grafite);color:var(--branco)}
.elementor-widget.dmp-form .elementor-select-wrapper::before,.elementor-widget.dmp-form .select-caret-down-wrapper{color:var(--cinza)!important}
/* Depois do envio: confirmação com botão do WhatsApp (montada pelo site.js) */
.dmp-form .form__ok{display:grid;gap:14px;text-align:left}
.dmp-form .form__ok h3{margin:0;font-family:var(--f-display);font-size:22px;letter-spacing:-.01em;color:var(--branco)}
.dmp-form .form__ok p{margin:0;color:var(--cinza);font-size:15px;line-height:1.55}
.dmp-form .form__ok .btn{justify-content:center;width:100%}
.form.dmp-enviado>.elementor-widget-heading{display:none}
/* Mesmo ponto de quebra do protótipo: campos lado a lado até 480px, um por linha abaixo disso */
@media (min-width:481px){.elementor-widget.dmp-form .elementor-field-group.elementor-col-50{width:50%!important}}
@media (max-width:480px){.elementor-widget.dmp-form .elementor-field-group{width:100%!important}}
.dmp-form-nota{color:var(--cinza-claro);font-size:12.5px}

/* Blog: elementos dos posts antigos (vindos do site atual) que o post-modelo do prototipo nao usa */
.post-corpo img{max-width:100%;height:auto;border-radius:var(--raio-sm)}
.post-corpo p>img:only-child{display:block}
.post-corpo figure{margin:0 0 22px;max-width:100%}
.post-corpo figcaption{font-size:14px;color:var(--cinza);margin-top:8px}
.post-corpo ol{margin:0 0 22px;padding-left:22px}
.post-corpo h4{font-family:var(--f-display);font-weight:700;font-size:19px;line-height:1.3;color:var(--grafite);margin:28px 0 8px}
.post-corpo hr{border:0;border-top:1px solid #E3E2E6;margin:36px 0}
.post-corpo .aligncenter{display:block;margin-inline:auto}
.post-corpo iframe{max-width:100%}