.duo-budget-calc{
  --dbc-ink:var(--duo-ink,#07182f);
  --dbc-ink-soft:var(--duo-ink-soft,#17304f);
  --dbc-surface:var(--duo-surface,#f5f3ee);
  --dbc-card:var(--duo-surface-strong,#fff);
  --dbc-muted:var(--duo-muted,#667081);
  --dbc-line:var(--duo-line,rgba(7,24,47,.14));
  --dbc-accent:var(--duo-accent,#d6ad55);
  --dbc-accent-deep:var(--duo-accent-deep,#b88731);
  --dbc-display:var(--duo-display,"Poppins","Helvetica Neue",Arial,sans-serif);
  --dbc-sans:var(--duo-sans,"Lato","Helvetica Neue",Arial,sans-serif);
  width:100%;
  max-width:100%;
  min-width:0;
  color:var(--dbc-ink);
  font-family:var(--dbc-sans);
  background:var(--dbc-card);
  border:1px solid var(--dbc-line);
  overflow:hidden;
  container-type:inline-size;
  container-name:duo-budget;
}
.duo-budget-calc *{box-sizing:border-box;min-width:0}

.duo-budget-calc__intro{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px 52px;
  align-items:end;
  padding:clamp(34px,4.5vw,58px);
  background:var(--dbc-ink);
  color:#fff;
}
.duo-budget-calc__intro:before,.duo-budget-calc__intro:after{content:"";position:absolute;border:1px solid rgba(214,173,85,.15);border-radius:50%;pointer-events:none}
.duo-budget-calc__intro:before{width:330px;height:330px;right:-150px;top:-200px}
.duo-budget-calc__intro:after{width:185px;height:185px;right:-68px;top:-110px}
.duo-budget-calc__intro-copy,.duo-budget-calc__steps{position:relative;z-index:1}
.duo-budget-calc__eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 14px;color:var(--dbc-accent);font-family:var(--dbc-display);font-size:.68rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.duo-budget-calc__eyebrow:before{content:"";width:38px;height:1px;background:currentColor;flex:0 0 38px}
.duo-budget-calc h2{font-family:var(--dbc-display);font-size:clamp(2rem,4.2cqw,3.8rem);line-height:1.04;letter-spacing:-.045em;font-weight:600;margin:0;max-width:780px;overflow-wrap:normal;word-break:normal}
.duo-budget-calc__subtitle{font-family:var(--dbc-display);font-size:1.05rem;font-weight:600;margin:18px 0 7px;color:#fff}
.duo-budget-calc__description{color:rgba(255,255,255,.68);font-size:.95rem;line-height:1.65;margin:0;max-width:720px}
.duo-budget-calc__steps{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:0;padding-bottom:2px}
.duo-budget-calc__steps span{color:rgba(255,255,255,.35);font-family:var(--dbc-display);font-size:.7rem;font-weight:600;white-space:nowrap;transition:color .25s ease}
.duo-budget-calc__steps span small{display:block;font-family:var(--dbc-sans);font-size:.6rem;font-weight:400;letter-spacing:.03em;margin-top:2px}
.duo-budget-calc__steps span.is-active{color:var(--dbc-accent)}
.duo-budget-calc__steps i{height:1px;width:24px;background:rgba(255,255,255,.16);flex:0 0 24px}

.duo-budget-calc__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,34%);align-items:start;background:var(--dbc-card)}
.duo-budget-calc__panel{padding:clamp(28px,4.5cqw,54px)}
.duo-budget-calc__summary{align-self:stretch;background:color-mix(in srgb,var(--dbc-ink) 97%,#fff);padding:clamp(24px,3.5cqw,38px);display:flex;align-items:flex-start}
.duo-budget-calc__section+.duo-budget-calc__section{border-top:1px solid var(--dbc-line);margin-top:34px;padding-top:32px}
.duo-budget-calc__section-head{display:flex;align-items:flex-start;gap:15px;margin-bottom:22px}
.duo-budget-calc__section-head>span{display:grid;place-items:center;border:1px solid var(--dbc-accent);color:var(--dbc-accent-deep);font-family:var(--dbc-display);font-size:.66rem;font-weight:700;width:36px;height:36px;flex:0 0 36px}
.duo-budget-calc__section-head h3{font-family:var(--dbc-display);font-size:clamp(1.3rem,2.6cqw,1.72rem);line-height:1.18;letter-spacing:-.025em;margin:0 0 5px}
.duo-budget-calc__section-head p{margin:0;color:var(--dbc-muted);font-size:.9rem;line-height:1.5}

.duo-area-field{display:flex;align-items:center;background:#fff;border:1px solid var(--dbc-line);height:72px;width:min(100%,360px);transition:border-color .2s ease,box-shadow .2s ease}
.duo-area-field:focus-within{border-color:var(--dbc-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--dbc-accent) 15%,transparent)}
.duo-area-field input{font-family:var(--dbc-display);font-size:1.8rem;font-weight:600;color:var(--dbc-ink);width:100%;height:100%;border:0!important;box-shadow:none!important;outline:0;padding:0 18px!important;background:transparent!important;min-width:0;border-radius:0!important}
.duo-area-field input::placeholder{color:#b8bec7}
.duo-area-field b{display:grid;place-items:center;height:100%;min-width:62px;border-left:1px solid var(--dbc-line);font-family:var(--dbc-display);color:var(--dbc-muted);font-size:.88rem}
.duo-area-hint{font-size:.72rem;color:var(--dbc-muted);margin-top:8px}

.duo-service-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.duo-service-option{display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;align-items:start;border:1px solid var(--dbc-line);padding:17px;cursor:pointer;min-height:100px;transition:border-color .2s ease,transform .2s ease,background .2s ease;position:relative}
.duo-service-option:hover{border-color:color-mix(in srgb,var(--dbc-accent) 70%,var(--dbc-line));transform:translateY(-2px)}
.duo-service-option input{position:absolute;opacity:0;pointer-events:none}
.duo-service-option__check{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--dbc-line);color:transparent;transition:background .2s ease,border-color .2s ease,color .2s ease}
.duo-service-option__check svg{width:16px;height:16px}
.duo-service-option.is-selected,.duo-service-option.is-required{border-color:var(--dbc-accent);background:color-mix(in srgb,var(--dbc-accent) 7%,#fff)}
.duo-service-option input:checked+.duo-service-option__check,.duo-service-option.is-required .duo-service-option__check{background:var(--dbc-accent);border-color:var(--dbc-accent);color:var(--dbc-ink)}
.duo-service-option__copy{min-width:0}
.duo-service-option__copy strong{display:block;font-family:var(--dbc-display);font-size:.93rem;line-height:1.25}
.duo-service-option__copy small{display:block;color:var(--dbc-muted);font-size:.73rem;line-height:1.45;margin-top:5px;overflow-wrap:anywhere}
.duo-service-option em{grid-column:2;font-style:normal;font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--dbc-accent-deep);margin-top:2px}

.duo-budget-result{width:100%;color:#fff;position:sticky;top:126px;overflow:hidden}
.duo-budget-result:after{content:"";position:absolute;width:220px;height:220px;border:1px solid rgba(214,173,85,.14);border-radius:50%;right:-125px;bottom:-150px;pointer-events:none}
.duo-budget-result__kicker{position:relative;z-index:1;display:flex;align-items:center;gap:10px;color:var(--dbc-accent);font-family:var(--dbc-display);font-size:.64rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin:0 0 26px}
.duo-budget-result__kicker:before{content:"";width:28px;height:1px;background:currentColor}
.duo-budget-result__top{display:flex;flex-direction:column;gap:17px;align-items:flex-start;position:relative;z-index:1}
.duo-budget-result__top span{display:block;color:rgba(255,255,255,.58);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.duo-total-value{display:block;font-family:var(--dbc-display);color:var(--dbc-accent);font-size:clamp(2rem,4.4cqw,3.2rem);line-height:1.02;font-weight:600;letter-spacing:-.04em;overflow-wrap:anywhere;transition:transform .18s ease}
.duo-budget-result.is-updated .duo-total-value{animation:duoResultPulse .28s ease}
.duo-budget-result__badge{border:1px solid rgba(214,173,85,.35);color:var(--dbc-accent);font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;padding:7px 9px}
.duo-budget-breakdown{display:grid;grid-template-columns:1fr;border-top:1px solid rgba(255,255,255,.15);margin-top:28px;padding-top:6px;position:relative;z-index:1}
.duo-budget-breakdown div{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.duo-budget-breakdown span,.duo-budget-breakdown b{display:block}
.duo-budget-breakdown span{font-size:.66rem;color:rgba(255,255,255,.53);margin-bottom:4px}
.duo-budget-breakdown b{font-family:var(--dbc-display);font-size:.88rem;overflow-wrap:anywhere}
.duo-budget-result>p{position:relative;z-index:1;color:rgba(255,255,255,.48);font-size:.68rem;line-height:1.55;margin:20px 0 0}
.duo-calc-admin-note{position:relative;z-index:1;margin:18px 0 0;padding:11px 12px;border:1px solid rgba(214,173,85,.3);color:rgba(255,255,255,.72);font-size:.68rem;line-height:1.45}

@keyframes duoResultPulse{0%{transform:scale(.985);opacity:.72}100%{transform:scale(1);opacity:1}}

@container duo-budget (max-width:760px){
  .duo-budget-calc__intro{grid-template-columns:1fr;align-items:start}
  .duo-budget-calc__steps{justify-content:flex-start}
  .duo-budget-calc__body{grid-template-columns:1fr}
  .duo-budget-calc__summary{padding:32px}
  .duo-budget-result{position:static}
  .duo-budget-breakdown{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding-top:18px}
  .duo-budget-breakdown div{border-bottom:0;padding:0 12px}
  .duo-budget-breakdown div:first-child{padding-left:0}
  .duo-budget-breakdown div+div{border-left:1px solid rgba(255,255,255,.1)}
}
@container duo-budget (max-width:560px){
  .duo-budget-calc__intro,.duo-budget-calc__panel,.duo-budget-calc__summary{padding:28px 20px}
  .duo-budget-calc h2{font-size:clamp(2rem,9cqw,2.8rem)}
  .duo-budget-calc__steps{gap:7px;flex-wrap:wrap}
  .duo-budget-calc__steps i{width:14px;flex-basis:14px}
  .duo-service-options{grid-template-columns:1fr}
  .duo-budget-breakdown{grid-template-columns:1fr;padding-top:6px}
  .duo-budget-breakdown div,.duo-budget-breakdown div:first-child{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1)}
  .duo-budget-breakdown div+div{border-left:0}
  .duo-area-field{width:100%}
}

@media(max-width:760px){
  .duo-budget-calc__intro{grid-template-columns:1fr;align-items:start}
  .duo-budget-calc__steps{justify-content:flex-start}
  .duo-budget-calc__body{grid-template-columns:1fr}
  .duo-budget-result{position:static}
}
@media(max-width:560px){
  .duo-service-options{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.duo-service-option,.duo-total-value{transition:none}.duo-budget-result.is-updated .duo-total-value{animation:none}}

/* ===== Duo CRM + Calculadora 2.0 — captura antes da estimativa ===== */
.duo-budget-calc .screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.duo-budget-calc__steps span.is-done{color:rgba(255,255,255,.74)}
.duo-budget-calc__steps span.is-done small{color:rgba(255,255,255,.5)}

.duo-budget-calc__gate{
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(360px,1.08fr);
  gap:clamp(34px,6cqw,76px);
  align-items:center;
  padding:clamp(34px,5.3cqw,68px);
  background:
    linear-gradient(90deg,color-mix(in srgb,var(--dbc-surface) 74%,#fff),#fff 48%);
  transition:opacity .28s ease,transform .32s cubic-bezier(.2,.72,.2,1),max-height .4s ease,padding .4s ease;
}
.duo-budget-gate__copy{align-self:start;padding-top:8px}
.duo-budget-gate__number{display:inline-grid;place-items:center;width:42px;height:42px;margin:0 0 26px;border:1px solid var(--dbc-accent);color:var(--dbc-accent-deep);font-family:var(--dbc-display);font-size:.68rem;font-weight:700}
.duo-budget-gate__copy h3{max-width:520px;margin:0;font-family:var(--dbc-display);font-size:clamp(1.75rem,3.5cqw,2.8rem);line-height:1.08;letter-spacing:-.04em;font-weight:600}
.duo-budget-gate__copy>p:not(.duo-budget-gate__number){max-width:520px;margin:18px 0 0;color:var(--dbc-muted);font-size:.96rem;line-height:1.7}
.duo-budget-gate__trust{display:grid;gap:10px;margin-top:28px;padding-top:24px;border-top:1px solid var(--dbc-line)}
.duo-budget-gate__trust span{display:flex;align-items:center;gap:9px;color:var(--dbc-ink-soft);font-family:var(--dbc-display);font-size:.72rem;font-weight:600}
.duo-budget-gate__trust span::first-letter{color:var(--dbc-accent-deep)}

.duo-budget-lead-form{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 14px;padding:clamp(24px,3.4cqw,38px);background:#fff;border:1px solid var(--dbc-line);box-shadow:0 24px 64px rgba(7,24,47,.09)}
.duo-budget-lead-form:before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:3px;background:var(--dbc-accent)}
.duo-budget-field{display:block}
.duo-budget-field--wide,.duo-budget-consent,.duo-budget-lead-feedback,.duo-budget-lead-submit,.duo-budget-lead-note{grid-column:1/-1}
.duo-budget-field>span{display:block;margin:0 0 7px;color:var(--dbc-ink);font-family:var(--dbc-display);font-size:.67rem;font-weight:600;letter-spacing:.045em;text-transform:uppercase}
.duo-budget-field input{display:block;width:100%;min-height:54px;padding:12px 14px!important;border:1px solid var(--dbc-line)!important;border-radius:0!important;outline:0!important;background:#fff!important;box-shadow:none!important;color:var(--dbc-ink)!important;font-family:var(--dbc-sans);font-size:.95rem;transition:border-color .18s ease,box-shadow .18s ease}
.duo-budget-field input::placeholder{color:color-mix(in srgb,var(--dbc-muted) 66%,transparent)}
.duo-budget-field input:focus{border-color:var(--dbc-accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--dbc-accent) 17%,transparent)!important}
.duo-budget-consent{display:flex;align-items:flex-start;gap:10px;color:var(--dbc-muted);font-size:.73rem;line-height:1.5;cursor:pointer}
.duo-budget-consent input{width:17px;height:17px;margin:2px 0 0;flex:0 0 17px;accent-color:var(--dbc-accent-deep)}
.duo-budget-consent a{color:var(--dbc-ink);text-underline-offset:3px}
.duo-budget-lead-feedback{min-height:0;font-size:.76rem;line-height:1.45}
.duo-budget-lead-feedback:empty{display:none}
.duo-budget-lead-feedback.is-error,.duo-budget-lead-feedback.is-success{display:block;padding:10px 12px}
.duo-budget-lead-feedback.is-error{background:#fff1ef;color:#8a2b20}
.duo-budget-lead-feedback.is-success{background:#edf8ef;color:#245f31}
.duo-budget-lead-submit{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:56px;padding:13px 17px;border:1px solid var(--dbc-accent);border-radius:0;background:var(--dbc-accent);color:var(--dbc-ink);cursor:pointer;font-family:var(--dbc-display);font-size:.78rem;font-weight:700;letter-spacing:.02em;transition:background .18s ease,border-color .18s ease,transform .18s ease,opacity .18s ease}
.duo-budget-lead-submit b{font-size:1.15rem;font-weight:400;transition:transform .18s ease}
.duo-budget-lead-submit:hover{background:var(--dbc-accent-deep);border-color:var(--dbc-accent-deep);transform:translateY(-1px)}
.duo-budget-lead-submit:hover b{transform:translateX(4px)}
.duo-budget-lead-submit:disabled{cursor:wait;opacity:.72;transform:none}
.duo-budget-lead-submit.is-loading b{display:none}
.duo-budget-lead-note{display:block;color:var(--dbc-muted);font-size:.66rem;line-height:1.45;text-align:center}
.duo-budget-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.duo-budget-calc__workspace{opacity:0;transform:translateY(14px);max-height:0;overflow:hidden;pointer-events:none;transition:opacity .36s ease,transform .42s cubic-bezier(.2,.72,.2,1),max-height .01s linear .42s}
.duo-budget-calc.is-unlocked .duo-budget-calc__gate{display:none}
.duo-budget-calc.is-unlocked .duo-budget-calc__workspace{opacity:1;transform:none;max-height:none;overflow:visible;pointer-events:auto;transition:opacity .4s ease,transform .44s cubic-bezier(.2,.72,.2,1)}
.duo-budget-crm-status{position:relative;z-index:1;display:flex;align-items:center;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.11);color:rgba(255,255,255,.62);font-size:.68rem}
.duo-budget-crm-status[hidden]{display:none}
.duo-budget-crm-status span{display:grid;place-items:center;width:18px;height:18px;border:1px solid rgba(214,173,85,.45);color:var(--dbc-accent);font-size:.62rem}

/* Dedicated page template: the plugin intentionally does not print the WP page title. */
.duo-calculator-template-main{overflow:visible!important}
.duo-calculator-template-wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto;padding:clamp(52px,7vw,88px) 0 clamp(78px,10vw,130px)}
.duo-calculator-template-content:empty{display:none}
.duo-calculator-template-content:not(:empty){margin-bottom:34px}
.duo-calculator-template-content>h1:first-child,.duo-calculator-template-content>.entry-title:first-child{display:none!important}
body.duo-calculator-page .duo-standard-page{padding:0!important}

@container duo-budget (max-width:820px){
  .duo-budget-calc__gate{grid-template-columns:1fr;gap:32px}
  .duo-budget-gate__copy{padding-top:0}
  .duo-budget-gate__trust{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
}
@container duo-budget (max-width:560px){
  .duo-budget-calc__gate{padding:28px 20px}
  .duo-budget-lead-form{grid-template-columns:1fr;padding:23px 18px;box-shadow:none}
  .duo-budget-field{grid-column:1/-1}
  .duo-budget-gate__trust{grid-template-columns:1fr}
  .duo-budget-gate__copy h3{font-size:clamp(1.65rem,8.3cqw,2.2rem)}
  .duo-budget-field input{font-size:16px}
}
@media(max-width:640px){
  .duo-calculator-template-wrap{width:min(100% - 28px,1180px);padding:34px 0 72px}
}
@media(prefers-reduced-motion:reduce){
  .duo-budget-calc__gate,.duo-budget-calc__workspace,.duo-budget-lead-submit,.duo-budget-lead-submit b{transition:none!important}
}

/* ===== Duo CRM + Calculadora 3.0 — modelo da planilha ===== */
.duo-base-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.duo-base-grid .duo-area-field{display:block;width:100%;height:auto;background:transparent;border:0;box-shadow:none}
.duo-base-grid .duo-area-field>span{display:block;margin:0 0 7px;color:var(--dbc-ink);font-family:var(--dbc-display);font-size:.67rem;font-weight:600;letter-spacing:.045em;text-transform:uppercase}
.duo-base-grid .duo-area-field>div{display:flex;align-items:center;background:#fff;border:1px solid var(--dbc-line);height:66px;transition:border-color .2s ease,box-shadow .2s ease}
.duo-base-grid .duo-area-field>div:focus-within{border-color:var(--dbc-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--dbc-accent) 15%,transparent)}
.duo-base-grid .duo-area-field input{font-size:1.5rem}
.duo-base-grid .duo-area-field b{min-width:76px}

.duo-fixed-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.duo-fixed-items>div{border:1px solid color-mix(in srgb,var(--dbc-accent) 52%,var(--dbc-line));background:color-mix(in srgb,var(--dbc-accent) 6%,#fff);padding:15px 16px}
.duo-fixed-items strong{display:block;font-family:var(--dbc-display);font-size:.88rem}
.duo-fixed-items small{display:block;margin-top:5px;color:var(--dbc-muted);font-size:.71rem;line-height:1.45}

.duo-service-option-wrap{border:1px solid var(--dbc-line);background:#fff;transition:border-color .2s ease,background .2s ease}
.duo-service-option-wrap:has(.duo-service-option.is-selected){border-color:var(--dbc-accent);background:color-mix(in srgb,var(--dbc-accent) 5%,#fff)}
.duo-service-option-wrap .duo-service-option{border:0;min-height:94px;background:transparent}
.duo-service-option-wrap .duo-service-option:hover{transform:none;border-color:transparent;background:color-mix(in srgb,var(--dbc-accent) 3%,#fff)}
.duo-qty-field{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--dbc-line);padding:10px 14px 12px;margin:0 12px}
.duo-qty-field span{color:var(--dbc-muted);font-size:.68rem;line-height:1.35}
.duo-qty-field input{width:84px;min-height:38px;border:1px solid var(--dbc-line)!important;background:#fff!important;color:var(--dbc-ink)!important;padding:7px 8px!important;text-align:center;border-radius:0!important;box-shadow:none!important}
.duo-qty-field input:disabled{opacity:.45;background:#f2f3f4!important}

.duo-budget-range{position:relative;z-index:1;margin-top:18px;padding:14px 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.1)}
.duo-budget-range span{display:block;color:rgba(255,255,255,.5);font-size:.64rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.duo-budget-range b{display:block;color:#fff;font-family:var(--dbc-display);font-size:.96rem;font-weight:600}
.duo-budget-lines{position:relative;z-index:1;max-height:290px;overflow:auto;margin-top:18px;padding-right:6px;scrollbar-width:thin}
.duo-budget-line{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.duo-budget-line span{color:rgba(255,255,255,.62);font-size:.68rem;line-height:1.35}
.duo-budget-line b{white-space:nowrap;color:rgba(255,255,255,.92);font-size:.69rem;font-weight:600}

@container duo-budget (max-width:620px){
  .duo-base-grid,.duo-fixed-items{grid-template-columns:1fr}
}
