/* Pageshop - complementos de UX/UI (formulários, FAQ, consentimento, acessibilidade) */

/* Acessibilidade */
.skip-link{position:absolute;left:-9999px;top:0;z-index:100000;background:#fff;color:#000;padding:12px 18px;border-radius:0 0 6px 0;font-weight:600}
.skip-link:focus{left:0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #36b592;outline-offset:2px}
html{scroll-padding-top:90px}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Slides: somente o primeiro é h1; os demais herdam o visual */
#theme-main-banner .h1{display:block;color:#fff;line-height:75px;margin:20px 0 50px 0;font-size:60px;font-weight:700}
@media (max-width:991px){#theme-main-banner .h1,#theme-main-banner h1{line-height:1.2;font-size:34px}}

/* Barra de progresso de leitura */
.ps-progress{position:fixed;top:0;left:0;height:3px;width:0;background:#36b592;z-index:99999;transition:width .1s linear}

/* Texto de apoio abaixo do CTA do banner */
.cta-nota{display:block;margin-top:14px;color:rgba(255,255,255,.75);font-size:15px}

/* Faixa de confiança */
.faixa-confianca{background:#f6f7f9;padding:28px 0;border-bottom:1px solid #e9ebef}
.faixa-confianca ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:14px 40px}
.faixa-confianca li{font-weight:600;color:#33405a}
.faixa-confianca li i{color:#36b592;margin-right:8px}

/* FAQ */
.faq-section{padding:90px 0;background:#fff}
.faq-section h2{text-align:center;margin-bottom:40px}
.faq-lista{max-width:820px;margin:0 auto}
.faq-lista details{border:1px solid #e3e6ec;border-radius:8px;margin-bottom:12px;background:#fff;transition:box-shadow .2s}
.faq-lista details[open]{box-shadow:0 8px 24px rgba(12,20,35,.08)}
.faq-lista summary{cursor:pointer;list-style:none;padding:18px 54px 18px 22px;font-weight:600;font-size:18px;position:relative;color:#0c1423}
.faq-lista summary::-webkit-details-marker{display:none}
.faq-lista summary::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:26px;color:#36b592;transition:transform .2s}
.faq-lista details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq-lista details p{padding:0 22px 20px;margin:0;color:#4a5568;line-height:1.7}

/* Formulários */
.ps-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.ps-form label{display:block;font-weight:600;font-size:14px;margin-bottom:6px;color:#33405a}
.ps-form label small{font-weight:400;color:#8a93a5}
.ps-form .form-control{height:48px;border-radius:6px}
.ps-form textarea.form-control{height:auto;min-height:110px}
.ps-form .has-erro .form-control{border-color:#d93025;background:#fff8f7}
.ps-erro{display:block;color:#d93025;margin-top:5px;font-size:13px}
.ps-contador{display:block;text-align:right;color:#8a93a5;font-size:12px}
.ps-chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.ps-chips label{margin:0;cursor:pointer}
.ps-chips input{position:absolute;opacity:0}
.ps-chips span{display:inline-block;padding:10px 18px;border:2px solid #dfe3ea;border-radius:30px;font-weight:600;transition:all .15s}
.ps-chips input:checked+span{border-color:#36b592;background:#e8f7f3;color:#1d6e5a}
.ps-chips input:focus-visible+span{outline:3px solid #36b592;outline-offset:2px}
.ps-lgpd label{font-weight:400;font-size:13px;color:#5b6577;display:flex;gap:10px;align-items:flex-start}
.ps-lgpd input{margin-top:3px;flex:none}
.ps-status{min-height:22px;margin:0 0 10px;font-weight:600}
.ps-status.ps-erro{color:#d93025}
.ps-enviar.is-loading{opacity:.7;cursor:progress}
.ps-enviar{cursor:pointer;background:#36b592;color:#fff!important;border-color:#36b592}
.form-ok{text-align:center;padding:30px 10px}
.form-ok-icon{width:72px;height:72px;line-height:72px;border-radius:50%;background:#e6f6ec;color:#1e9e50;font-size:32px;margin:0 auto 18px}
.white-popup-block{border-radius:10px;max-height:calc(100vh - 80px);overflow-y:auto}
@media (max-width:767px){.white-popup-block{margin:10px;padding:18px}}

/* Formulário do rodapé */
footer .subscribe-form .ps-lgpd{margin:0 0 20px}
footer .subscribe-form .ps-lgpd label{color:#b9b9b9;text-align:left}
footer .subscribe-form .ps-lgpd a{color:#36b592;text-decoration:underline}
footer .subscribe-form .ps-status{color:#fff;text-align:center}
footer .subscribe-form .ps-status.ps-erro{color:#ff8a80}
footer .subscribe-form .ps-erro{color:#ff8a80}
footer .subscribe-form .ps-feedback{display:block;text-align:center;color:#fff;font-size:20px;padding:20px 0}
footer .subscribe-form .input-wrapper input[type=submit]:disabled{opacity:.7}

/* Aviso de cookies */
.ps-cookie{position:fixed;left:16px;bottom:16px;max-width:420px;z-index:99998;background:#14213d;color:#fff;border-radius:10px;padding:18px 20px;box-shadow:0 12px 40px rgba(0,0,0,.3);transform:translateY(30px);opacity:0;transition:all .35s}
.ps-cookie.is-on{transform:none;opacity:1}
.ps-cookie p{margin:0 0 14px;font-size:14px;line-height:1.5}
.ps-cookie div{display:flex;gap:10px;flex-wrap:wrap}
.ps-cookie button{border:0;border-radius:6px;padding:10px 16px;font-weight:600;cursor:pointer}
.ps-cookie-sim{background:#36b592;color:#fff}
.ps-cookie-nao{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4)!important}
@media (max-width:480px){.ps-cookie{left:8px;right:8px;bottom:8px}}

/* Títulos sem link (antes eram âncoras vazias) e rótulos do banner */
.what-we-do .single-do-figure h4{display:block;color:#171f2e;margin:12px 0 18px 0}
#theme-main-banner p.h3{color:rgba(255,255,255,.6);margin-top:60px;font-size:24px}
#theme-main-banner p.h3.p-color{color:#36b592}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

/* ===== Cards e títulos ===== */
#theme-main-banner{margin-bottom:0}

/* Título de abertura: sem faixa chapada; marca-texto só na expressão-chave */
.what-we-do{padding:90px 0 40px}
.what-we-do .title{padding-bottom:10px;max-width:900px}
.what-we-do .title h2 span{background:none;display:inline;line-height:1.25;font-size:38px;font-weight:700;color:#0c1423}
.what-we-do .title h2 .marca-texto{background:linear-gradient(transparent 62%,rgba(54,181,146,.35) 62%);padding:0 4px}
.what-we-do .title p{font-size:19px;color:#4a5568;margin-top:22px;line-height:1.7}
.what-we-do .cards-titulo{margin:50px 0 0;font-size:15px;letter-spacing:2px;text-transform:uppercase;color:#36b592}

/* Linhas com cards de mesma altura (substitui o float do Bootstrap 3) */
.cards-row{display:flex;flex-wrap:wrap}
.cards-row:before,.cards-row:after{display:none}
.cards-row>[class*=col-]{display:flex;margin-bottom:24px}
.cards-row>.col-md-12{display:block}
.cards-row>[class*=col-]>div{width:100%}

/* Card base */
.what-we-do .single-do-figure,
.our-service-one .cards-row .single-service-block{
  position:relative;height:100%;background:#fff;border:1px solid #e6eaf0;border-radius:14px;
  padding:34px 28px 30px;margin-top:0;overflow:hidden;
  box-shadow:0 2px 6px rgba(12,20,35,.04);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.what-we-do .single-do-figure:before,
.our-service-one .cards-row .single-service-block:before{
  content:"";position:absolute;left:0;top:0;height:4px;width:100%;background:linear-gradient(90deg,#36b592,#65c7ac);
  transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.what-we-do .single-do-figure:hover,
.our-service-one .cards-row .single-service-block:hover{
  transform:translateY(-6px);border-color:#cfeee4;box-shadow:0 18px 40px rgba(12,20,35,.10)}
.what-we-do .single-do-figure:hover:before,
.our-service-one .cards-row .single-service-block:hover:before{transform:scaleX(1)}

/* Cards "o que fazemos" */
.what-we-do .single-do-figure img{width:72px;height:auto;padding:14px;background:#eefaf6;border-radius:16px;box-sizing:content-box}
.what-we-do .single-do-figure .card-num{position:absolute;right:22px;top:14px;font-size:46px;font-weight:700;line-height:1;color:#f0f3f7}
.what-we-do .single-do-figure h4{margin:22px 0 10px;font-size:22px;font-weight:700;color:#0c1423}
.what-we-do .single-do-figure p{color:#5b6577;line-height:1.7;margin:0}

/* Cards "por que" e "serviços" */
.our-service-one .cards-row .single-service-block h4{padding:0;margin:0 0 10px;font-size:20px;font-weight:700;line-height:1.35;color:#0c1423}
.our-service-one .cards-row .single-service-block p{color:#5b6577;line-height:1.7;margin:0}
.our-service-one .cards-row .single-service-block .iconhome{display:inline-flex;margin:0 0 18px;padding:12px;background:#eefaf6;border-radius:16px}
.our-service-one .cards-row .single-service-block .iconhome img{width:56px;height:auto}
#servicos .single-service-block{border-left:4px solid #36b592;border-radius:10px}
#servicos .single-service-block:before{display:none}

@media (max-width:767px){
  .what-we-do .title h2 span{font-size:27px}
  .cards-row>[class*=col-]{display:block}
}

/* Ícones com altura fixa: títulos alinhados entre os cards */
.what-we-do .single-do-figure img{height:64px;width:auto;max-width:none;display:block}
.what-we-do .single-do-figure p,.our-service-one .cards-row .single-service-block p{font-size:16px}
.what-we-do{padding-bottom:70px}

/* Validação: estado válido e dica de e-mail */
.ps-form .form-control.is-valid{border-color:#36b592;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%2336b592' d='M6.5 11.5 3 8l1-1 2.5 2.5L12 4l1 1z'/%3E%3C/svg%3E") no-repeat right 12px center/18px}
.ps-form select.form-control.is-valid{background-position:right 30px center}
.ps-form textarea.form-control.is-valid{background-position:right 12px top 12px}
.ps-dica{display:block;margin-top:5px;font-size:13px;color:#5b6577}
.ps-dica button{border:0;background:none;padding:0;color:#1d6e5a;font-weight:700;text-decoration:underline;cursor:pointer}

/* Respiro inferior dos cards: o margin-bottom legado (45px) inflava a altura */
.our-service-one .cards-row .single-service-block,
.what-we-do .single-do-figure{margin:0;height:auto;flex:1 1 auto;padding:32px 28px}
.our-service-one .cards-row .single-service-block>:last-child,
.what-we-do .single-do-figure>:last-child{margin-bottom:0}
.what-we-do .single-do-figure .card-num{margin-top:0}
