/* pinc. callback widget v2 — visual clássico de callback, portable component */
.callback-root{--callback-accent:#F58220;position:fixed;right:22px;bottom:22px;z-index:1200;font-family:"Plus Jakarta Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#111}
.callback-root,.callback-root *,.callback-overlay,.callback-overlay *{box-sizing:border-box}
.callback-root button,.callback-root input,.callback-root select,.callback-overlay button,.callback-overlay input,.callback-overlay select{font:inherit}
.callback-launcher{position:relative;display:grid;place-items:center;width:62px;height:62px;border:0;border-radius:50%;background:var(--callback-accent);color:#fff;cursor:pointer;box-shadow:none;transition:transform .16s ease,filter .16s ease}
.callback-launcher:hover{filter:brightness(1.03)}.callback-launcher:active{transform:scale(.97)}
.callback-launcher svg{width:29px;height:29px;fill:currentColor;stroke:none}
.callback-status-dot{display:none}
.callback-teaser{position:absolute;right:0;bottom:72px;width:170px;padding:12px 12px 10px;border:1px dotted #8d8d8d;border-radius:3px;background:#fff;text-align:center;box-shadow:none;animation:callbackPop .18s ease both}
.callback-teaser[hidden]{display:none}.callback-teaser-close{position:absolute;right:5px;top:2px;width:22px;height:22px;border:0;background:transparent;color:#111;font-size:17px;font-weight:500;line-height:1;cursor:pointer}
.callback-teaser strong{display:block;margin:0 0 2px;font-size:15px;line-height:1.25;font-weight:600}.callback-teaser p{margin:0 auto 8px;max-width:145px;color:#111;font-size:15px;line-height:1.42}
.callback-teaser button[data-callback-teaser-action]{min-width:78px;min-height:46px;padding:0 16px;border:0;border-radius:8px;background:var(--callback-accent);color:#fff;font-size:15px;font-weight:600;cursor:pointer}
@keyframes callbackPop{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.callback-overlay{--callback-accent:#F58220;position:fixed;inset:0;z-index:1400;display:grid;place-items:center;padding:22px;background:rgba(0,0,0,.48)}.callback-overlay[hidden]{display:none}
.callback-modal{position:relative;width:min(500px,100%);max-height:min(760px,calc(100dvh - 44px));overflow:auto;border:0;border-radius:22px;background:#fff;box-shadow:0 18px 46px rgba(0,0,0,.16)}
.callback-close{position:absolute;z-index:3;right:18px;top:15px;display:grid;place-items:center;width:30px;height:30px;border:0;background:transparent;color:#050505;cursor:pointer}.callback-close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round}
.callback-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:26px 44px 0}
.callback-tab{min-height:65px;border:0;background:transparent;color:#99a0a5;cursor:pointer;text-align:center;padding:0 6px}.callback-tab .callback-tab-icon{display:block;width:23px;height:23px;margin:0 auto 5px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.callback-tab strong{display:block;font-size:13px;font-weight:500}.callback-tab small{display:none}.callback-tab.is-active{color:var(--callback-accent)}.callback-tab.is-disabled{opacity:.42;cursor:not-allowed}
.callback-body{padding:28px 52px 48px;text-align:center}.callback-brand-logo{display:block;width:245px;max-width:78%;height:auto!important;margin:4px auto 38px;object-fit:contain}.callback-brand{display:none}.callback-kicker,.callback-copy,.callback-availability-note{display:none!important}
.callback-title{max-width:360px;margin:0 auto 28px;font-size:26px;line-height:1.32;letter-spacing:-.02em;font-weight:600;text-wrap:balance}.callback-field{margin:0;text-align:left}.callback-field label{display:none}
.callback-input,.callback-select{width:100%;height:56px;border:1px solid #c9cfda;border-radius:7px;background:#fff;color:#171717;padding:0 16px;font-size:14px;font-weight:500;outline:none;box-shadow:none}.callback-input:focus,.callback-select:focus{border-color:#96a5bc;box-shadow:none}.callback-input::placeholder{color:#7b8289;opacity:1}
.callback-now-form{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch}.callback-scheduled-form{display:grid;grid-template-columns:1fr 1fr;gap:16px 30px;align-items:stretch}.callback-scheduled-form .callback-field{min-width:0}.callback-grid{display:contents}
.callback-button{width:100%;height:56px;margin:0;border:0;border-radius:7px;background:var(--callback-accent);color:#fff;font-size:15px;font-weight:500;cursor:pointer;box-shadow:none}.callback-button:hover{filter:brightness(1.02)}.callback-button:active{transform:translateY(1px)}.callback-button:disabled{opacity:.55;cursor:wait}.callback-button::after{display:none}.callback-button-secondary{margin-top:18px;background:#fff;color:#555;border:1px solid #d4d4d4}
.callback-error{grid-column:1/-1;margin:0;color:#c0392b;font-size:13px;line-height:1.5;text-align:left}.callback-hint{display:none}
.callback-success{padding:6px 0 2px}.callback-success-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 18px;border-radius:50%;background:#eef8f2;color:#1aa968}.callback-success-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.callback-success h3{margin:0;font-size:24px;line-height:1.25;font-weight:600}.callback-success p{max-width:340px;margin:10px auto 0;color:#6d7074;font-size:13px;line-height:1.6}
.callback-honeypot{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important}
@media(max-width:640px){.callback-root{right:14px;bottom:82px}.callback-root.has-sticky{bottom:84px}.callback-launcher{width:58px;height:58px}.callback-teaser{right:0;bottom:68px;width:170px}.callback-overlay{padding:14px;place-items:center}.callback-modal{width:min(500px,100%);border-radius:20px;max-height:calc(100dvh - 28px)}.callback-tabs{padding:24px 36px 0}.callback-body{padding:26px 28px 34px}.callback-brand-logo{width:210px;margin-bottom:30px}.callback-title{font-size:23px;margin-bottom:24px}.callback-now-form,.callback-scheduled-form{grid-template-columns:1fr;gap:12px}.callback-button{height:54px}.callback-input,.callback-select{height:54px}.callback-error{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.callback-teaser{animation:none}.callback-launcher{transition:none}}

/* =========================================================
   v6.5 — polish consolidado + selects em portal/popover
   ========================================================= */
.callback-root{--callback-accent:#F58220;z-index:2147482000!important}
.callback-overlay{z-index:2147483000!important}

/* launcher premium */
.callback-launcher{
  border:1px solid color-mix(in srgb,var(--callback-accent) 82%,#9b3f00 18%)!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--callback-accent) 82%,#fff 18%) 0%,var(--callback-accent) 58%,color-mix(in srgb,var(--callback-accent) 84%,#a94300 16%) 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 0 0 2px rgba(255,255,255,.14)!important
}
.callback-launcher::after{content:"";position:absolute;inset:4px;border:1px solid rgba(255,255,255,.38);border-radius:50%;pointer-events:none}

/* teaser no DNA pinc. */
.callback-teaser{width:184px!important;padding:15px 14px 13px!important;border:1px solid #eadfe5!important;border-radius:18px!important;background:#fff!important;box-shadow:none!important}
.callback-teaser::after{content:none!important}
.callback-teaser-close{right:7px!important;top:6px!important;width:24px!important;height:24px!important;border-radius:8px!important;background:#f8f5f7!important;color:#4f464c!important}
.callback-teaser button[data-callback-teaser-action]{position:relative;min-width:82px!important;height:46px!important;border-radius:17px!important;border:1px solid #c91267!important;background:linear-gradient(180deg,#ef4a98 0%,#e6187a 58%,#c91267 100%)!important;color:#fff!important;font-weight:600!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 0 0 2px rgba(255,255,255,.13)!important}
.callback-teaser button[data-callback-teaser-action]::after{content:"";position:absolute;inset:3px;border:1px solid rgba(255,255,255,.34);border-radius:13px;pointer-events:none}

/* modal sem scrollbar fantasma em desktop */
.callback-modal{width:min(540px,100%)!important;max-height:min(760px,calc(100dvh - 44px));overflow:hidden!important;border-radius:22px!important}
.callback-close{right:18px!important;top:15px!important;width:38px!important;height:38px!important;border:0!important;border-radius:13px!important;background:#f8f5f7!important;color:#4f464c!important}
.callback-close svg{width:18px!important;height:18px!important}
.callback-tabs{padding:25px 44px 0!important}
.callback-body{padding:22px 44px 42px!important}
.callback-brand-logo{width:170px!important;max-width:58%!important;height:auto!important;margin:2px auto 28px!important;object-fit:contain!important}
.callback-title{max-width:330px!important;margin:0 auto 26px!important;font-size:24px!important;line-height:1.32!important;letter-spacing:-.025em!important}
.callback-title-now{max-width:300px!important;font-size:23px!important;line-height:1.34!important}

/* formulários */
.callback-now-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:18px!important}
.callback-scheduled-form{grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr)!important;gap:14px 16px!important}
.callback-input,.callback-select-trigger{width:100%;height:56px;border:1px solid #c9cfda;border-radius:17px;background:#fff;color:#171717;padding:0 16px;font-size:14px;font-weight:500;outline:none;box-shadow:none;transition:border-color .16s ease,background .16s ease}
.callback-input:focus,.callback-custom-select.is-open .callback-select-trigger{border-color:color-mix(in srgb,var(--callback-accent) 62%,#c9cfda 38%)}
.callback-input::placeholder{color:#969ca2;opacity:1}
.callback-button{position:relative;width:100%;height:56px;border-radius:17px!important;border:1px solid color-mix(in srgb,var(--callback-accent) 86%,#000 14%)!important;background:linear-gradient(180deg,color-mix(in srgb,var(--callback-accent) 78%,#fff 22%) 0%,var(--callback-accent) 58%,color-mix(in srgb,var(--callback-accent) 86%,#000 14%) 100%)!important;color:#fff!important;font-weight:600!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 0 0 2px rgba(255,255,255,.13)!important}
.callback-button::after{content:""!important;display:block!important;position:absolute;inset:3px;border:1px solid rgba(255,255,255,.34);border-radius:13px;pointer-events:none}
.callback-button:active{transform:translateY(1px) scale(.995);box-shadow:inset 0 1px 0 rgba(255,255,255,.24),inset 0 2px 7px rgba(0,0,0,.12)!important}

/* native select invisível, valor continua sendo a fonte real */
.callback-select-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}
.callback-custom-select{position:relative;width:100%;min-width:0}
.callback-select-trigger{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;text-align:left;white-space:nowrap;overflow:hidden}
.callback-select-value{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.callback-select-trigger svg{width:17px;height:17px;flex:none;fill:none;stroke:#7c838a;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s ease}
.callback-custom-select.is-open .callback-select-trigger svg{transform:rotate(180deg)}

/* portal real: fica FORA do modal e não cria scroll duplo */
.callback-select-popover{position:fixed;z-index:2147483600;overflow-y:auto;overscroll-behavior:contain;padding:6px;border:1px solid #e7dfe3;border-radius:17px;background:#fff;box-shadow:0 16px 38px rgba(30,21,25,.12);scrollbar-width:thin;scrollbar-color:#e6b6ca transparent}
.callback-select-option{display:flex;align-items:center;width:100%;min-height:42px;padding:0 12px;border:0;border-radius:12px;background:transparent;color:#3c3539;font:inherit;font-size:13px;font-weight:500;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.callback-select-option:hover,.callback-select-option:focus-visible{background:#fff5f1;outline:none}
.callback-select-option[aria-selected="true"]{background:color-mix(in srgb,var(--callback-accent) 10%,#fff 90%);color:color-mix(in srgb,var(--callback-accent) 78%,#6f2d00 22%);font-weight:600}
.callback-select-popover::-webkit-scrollbar{width:5px}
.callback-select-popover::-webkit-scrollbar-track{background:transparent}
.callback-select-popover::-webkit-scrollbar-thumb{background:#e6b6ca;border-radius:999px}

/* animação sem fade */
.callback-modal{animation:callbackModalRise .28s cubic-bezier(.22,.68,.26,1) both}
@keyframes callbackModalRise{from{transform:translateY(18px)}to{transform:translateY(0)}}
@keyframes callbackPop{from{transform:translateY(9px)}to{transform:translateY(0)}}

@media(max-width:640px){
  .callback-root{display:block!important;position:fixed!important;right:14px!important;bottom:calc(18px + env(safe-area-inset-bottom))!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;z-index:2147482000!important}
  .callback-root.has-sticky{bottom:calc(84px + env(safe-area-inset-bottom))!important}
  .callback-launcher{display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
  .callback-overlay{padding:14px!important;place-items:center!important;z-index:2147483000!important}
  .callback-modal{width:min(500px,100%)!important;max-height:calc(100dvh - 28px)!important;border-radius:20px!important;overflow:hidden!important}
  .callback-tabs{padding:22px 28px 0!important}
  .callback-body{padding:20px 22px 28px!important}
  .callback-brand-logo{width:150px!important;max-width:56%!important;margin-bottom:24px!important}
  .callback-title{font-size:22px!important;margin-bottom:22px!important;padding-inline:8px}
  .callback-title-now{max-width:270px!important;font-size:21px!important}
  .callback-now-form,.callback-scheduled-form{grid-template-columns:1fr!important;gap:12px!important}
  .callback-input,.callback-select-trigger{height:54px!important;font-size:16px!important}
  .callback-button{height:54px!important}
  .callback-teaser{right:0!important;bottom:68px!important}
}

/* somente telas realmente baixas podem rolar o modal; o popover continua fora dele */
@media(max-height:620px) and (min-width:641px){.callback-modal{overflow-y:auto!important}}
@media(max-height:560px) and (max-width:640px){.callback-modal{overflow-y:auto!important;align-self:flex-start;margin-top:8px}}

@media(prefers-reduced-motion:reduce){.callback-modal,.callback-teaser{animation:none!important}.callback-launcher{transition:none!important}}

/* =========================================================
   Convivência entre modal principal e callback
   ========================================================= */

/* Estado normal do launcher/teaser */
.callback-launcher,
.callback-teaser {
  transition:
    opacity .16s ease,
    visibility .16s ease,
    transform .16s ease;
}

/* Quando o formulário principal estiver aberto */
body.analysis-modal-open .callback-launcher,
body.analysis-modal-open .callback-teaser {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(8px) !important;
}

/* O modal do callback continua acima de tudo quando for ele o aberto */
.callback-overlay {
  z-index: 2147483000 !important;
}
