.stc-root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;color:var(--stc-text);text-align:var(--stc-align);background:var(--stc-layout-bg);padding:16px;border-radius:var(--stc-radius)}
.stc-card{background:var(--stc-card-bg, #fff);border:var(--stc-border-w,1px) solid var(--stc-border);border-radius:var(--stc-card-radius, var(--stc-radius));padding:var(--stc-card-padding,18px);box-shadow:var(--stc-shadow);max-width:430px}
.stc-single{margin:0 auto}
.stc-top-title{font-weight:900;font-size:var(--stc-title-size,20px);color:var(--stc-title);text-align:var(--stc-step1-title-align, inherit)}
.stc-top-sub{font-weight:950;font-size:var(--stc-subtitle-size,28px);color:var(--stc-subtitle-color, var(--stc-primary));margin-top:2px;text-align:var(--stc-step1-subtitle-align, inherit)}
.stc-top-hint{margin-top:12px;font-size:13px;opacity:.8;text-align:center}

.stc-typecards{display:grid;grid-template-columns:repeat(var(--stc-cat-cols,3),1fr);gap:var(--stc-cat-gap,14px);margin-top:14px}
/* Garantir caixinhas das categorias sempre com o mesmo tamanho (desktop e mobile) */
.stc-typecards:not(.is-carousel):not(.is-select){grid-auto-rows:1fr;align-items:stretch}
.stc-typecards:not(.is-carousel):not(.is-select) .stc-typecard{height:100%}

.stc-typecards.is-select{grid-template-columns:1fr;}
/* Layout extra: carrossel (scroll horizontal) */
.stc-typecards.is-carousel{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:var(--stc-cat-gap,14px);margin-top:14px;padding-bottom:4px;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}
.stc-typecards.is-carousel{cursor:grab}
.stc-typecards.is-carousel.stc-dragging{cursor:grabbing}
.stc-typecards.is-carousel .stc-typecard{flex:0 0 auto;min-width:var(--stc-cat-minw,110px);scroll-snap-align:start}
.stc-typecards.is-carousel::-webkit-scrollbar{height:6px}
.stc-typecards.is-carousel::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:999px}
.stc-typecards.is-carousel::-webkit-scrollbar-track{background:transparent}

/* Carrossel: wrapper + setas + opções */
.stc-carousel-wrap{position:relative}
.stc-carousel-wrap[data-carousel-scrollbar="0"] .stc-typecards.is-carousel{scrollbar-width:none}
.stc-carousel-wrap[data-carousel-scrollbar="0"] .stc-typecards.is-carousel::-webkit-scrollbar{display:none}

.stc-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:999px;border:1px solid var(--stc-carousel-arrow-border, rgba(0,0,0,.12));background:var(--stc-carousel-arrow-bg, #fff);color:var(--stc-carousel-arrow-color, #111);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:3;box-shadow:0 4px 14px rgba(0,0,0,.08)}
.stc-carousel-arrow.stc-left{left:-10px}
.stc-carousel-arrow.stc-right{right:-10px}
.stc-carousel-arrow:hover{filter:brightness(.98)}
.stc-carousel-arrow:active{transform:translateY(-50%) scale(.98)}

@media (max-width: 520px){
  .stc-carousel-arrow{display:none}
}

/* Mobile: manter 3 caixinhas de categoria lado a lado (sem quebrar em 2+1) */
@media (max-width: 520px){
  /* Aplica apenas no grid (não no carrossel e não no modo select 1-coluna) */
  .stc-typecards:not(.is-carousel):not(.is-select){
    grid-template-columns: repeat(3, 1fr) !important;
    gap: var(--stc-cat-gap-mobile, 10px);
  }
  /* Ajustes leves para caber bem em telas menores (mantém o layout intacto) */
  .stc-typecard{padding: var(--stc-cat-card-padding-mobile, 10px); min-height: var(--stc-cat-minh-mobile, 92px)}
  .stc-typecard .stc-icon{width:42px;height:42px;border-radius:12px}
  .stc-typecard svg{width:24px;height:24px}
  .stc-label{font-size: var(--stc-cat-size-mobile, 12px)}
}
.stc-typecard{background:var(--stc-cat-bg, var(--stc-card-bg));border:var(--stc-border-w,1px) solid var(--stc-cat-border, var(--stc-border));color:var(--stc-cat-text, var(--stc-text));display:flex;flex-direction:column;align-items:center;gap:8px;padding:var(--stc-cat-card-padding,12px);min-height:var(--stc-cat-minh,100px);border-radius:var(--stc-cat-card-radius,14px);cursor:pointer;font-weight:800}
.stc-typecard .stc-icon{color:var(--stc-cat-icon, currentColor);width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;border:var(--stc-border-w,1px) solid var(--stc-cat-border, var(--stc-border))}
.stc-typecard svg{width:26px;height:26px;fill:currentColor}
.stc-typecard.active{background:var(--stc-primary);border-color:var(--stc-primary);color:#fff}
.stc-typecard.active svg{fill:#fff}
.stc-typecard.active .stc-icon{color:var(--stc-cat-icon, currentColor);background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.25)}
.stc-label{font-size:var(--stc-cat-size,13px);line-height:1.15;text-align:center;min-height:2.4em;display:flex;align-items:center;justify-content:center;width:100%}

/* Botão WhatsApp direto (extra) */
.stc-btn-whats-direct{margin-top:10px}

.stc-seg{display:flex;gap:0;border:1px solid var(--stc-seg-border, var(--stc-primary));border-radius:var(--stc-seg-radius,999px);overflow:hidden;margin:var(--stc-seg-mt,18px) auto 0;max-width:var(--stc-seg-maxw,260px)}
 .stc-seg-btn{flex:1;padding:10px 12px;border:0;background:#fff;color:var(--stc-primary) !important;font-weight:900;cursor:pointer;min-height:var(--stc-seg-height, auto);transition:background .15s ease,color .15s ease, box-shadow .15s ease}
.stc-seg-btn[data-mode="credito"]{background:var(--stc-seg-credit-bg,#fff);color:var(--stc-seg-credit-text,#111) !important;box-shadow:inset 0 0 0 1px var(--stc-seg-credit-border,#e5e5e5)}
.stc-seg-btn[data-mode="credito"]:hover:not(.active){background:var(--stc-seg-credit-bg-h,#f5f5f5);color:var(--stc-seg-credit-text-h,#111) !important;box-shadow:inset 0 0 0 1px var(--stc-seg-credit-border-h,#e5e5e5)}
.stc-seg-btn[data-mode="credito"].active{background:var(--stc-seg-credit-bg-a,var(--stc-primary));color:var(--stc-seg-credit-text-a,#fff) !important;box-shadow:inset 0 0 0 1px var(--stc-seg-credit-border-a,var(--stc-primary))}
.stc-seg-btn[data-mode="parcela"]{background:var(--stc-seg-parc-bg,#fff);color:var(--stc-seg-parc-text,#111) !important;box-shadow:inset 0 0 0 1px var(--stc-seg-parc-border,#e5e5e5)}
.stc-seg-btn[data-mode="parcela"]:hover:not(.active){background:var(--stc-seg-parc-bg-h,#f5f5f5);color:var(--stc-seg-parc-text-h,#111) !important;box-shadow:inset 0 0 0 1px var(--stc-seg-parc-border-h,#e5e5e5)}
.stc-seg-btn[data-mode="parcela"].active{background:var(--stc-seg-parc-bg-a,var(--stc-primary));color:var(--stc-seg-parc-text-a,#fff) !important;box-shadow:inset 0 0 0 1px var(--stc-seg-parc-border-a,var(--stc-primary))}

.stc-sliderblock{margin-top:18px;text-align:center}
.stc-slider-title{font-weight:var(--stc-slider-title-weight,400);font-size:13px;opacity:1;color:var(--stc-slider-title-color, #111) !important;display:block}
.stc-slider-value{font-size:var(--stc-number-size,34px);font-weight:950;margin-top:6px}
.stc-range{
  width:100%;
  margin-top:16px;
  -webkit-appearance:none;
  appearance:none;
  height:6px;
  border-radius:999px;
  background: linear-gradient(to right,
    var(--stc-range-fill, #d11212) 0,
    var(--stc-range-fill, #d11212) var(--stc-range-pct, 0%),
    var(--stc-range-track, #e5e5e5) var(--stc-range-pct, 0%),
    var(--stc-range-track, #e5e5e5) 100%
  );
  outline:none;
}

/* Thumb */
.stc-range::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width: var(--stc-thumb-size, 16px);
  height: var(--stc-thumb-size, 16px);
  border-radius:50%;
  background: var(--stc-thumb, #d11212);
  border: 2px solid var(--stc-thumb-border, #fff);
}
.stc-range::-moz-range-thumb{
  width: var(--stc-thumb-size, 16px);
  height: var(--stc-thumb-size, 16px);
  border-radius:50%;
  background: var(--stc-thumb, #d11212);
  border: 2px solid var(--stc-thumb-border, #fff);
}

/* Track for Firefox */
.stc-range::-moz-range-track{
  height:6px;
  border-radius:999px;
  background: transparent;
}

/* Thumb animation (opcional) */
@keyframes stcThumbPulse { 0%{transform:scale(1)} 50%{transform:scale(1.12)} 100%{transform:scale(1)} }
@keyframes stcThumbBounce { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-3px)} }
@keyframes stcThumbSpin { 0%{transform:rotate(0deg)} 100%{transform:rotate(360deg)} }
@keyframes stcThumbGlow { 0%,100%{box-shadow:0 2px 8px rgba(0,0,0,.18)} 50%{box-shadow:0 2px 14px rgba(0,0,0,.28)} }

.stc-thumb-anim.stc-thumb-anim-pulse .stc-range::-webkit-slider-thumb{
  animation: stcThumbPulse var(--stc-thumb-anim-speed, 1.2s) ease-in-out infinite;
}
.stc-range.stc-thumb-anim.stc-thumb-anim-pulse::-webkit-slider-thumb{
  animation: stcThumbPulse var(--stc-thumb-anim-speed, 1.2s) ease-in-out infinite;
}
.stc-thumb-anim.stc-thumb-anim-bounce .stc-range::-webkit-slider-thumb{
  animation: stcThumbBounce var(--stc-thumb-anim-speed, 1.2s) ease-in-out infinite;
}
.stc-range.stc-thumb-anim.stc-thumb-anim-bounce::-webkit-slider-thumb{
  animation: stcThumbBounce var(--stc-thumb-anim-speed, 1.2s) ease-in-out infinite;
}
.stc-thumb-anim.stc-thumb-anim-pulse .stc-range::-moz-range-thumb{
  animation: stcThumbPulse var(--stc-thumb-anim-speed, 1.2s) ease-in-out infinite;
}
.stc-range.stc-thumb-anim.stc-thumb-anim-pulse::-moz-range-thumb{
  animation: stcThumbPulse var(--stc-thumb-anim-speed, 1.2s) ease-in-out infinite;
}
.stc-thumb-anim.stc-thumb-anim-bounce .stc-range::-moz-range-thumb{
  animation: stcThumbBounce var(--stc-thumb-anim-speed, 1.2s) ease-in-out infinite;
}
.stc-range.stc-thumb-anim.stc-thumb-anim-bounce::-moz-range-thumb{
  animation: stcThumbBounce var(--stc-thumb-anim-speed, 1.2s) ease-in-out infinite;
}

/* Novas animações */
.stc-thumb-anim.stc-thumb-anim-spin .stc-range::-webkit-slider-thumb{
  animation: stcThumbSpin var(--stc-thumb-anim-speed, 1.2s) linear infinite;
}
.stc-range.stc-thumb-anim.stc-thumb-anim-spin::-webkit-slider-thumb{
  animation: stcThumbSpin var(--stc-thumb-anim-speed, 1.2s) linear infinite;
}
.stc-thumb-anim.stc-thumb-anim-spin .stc-range::-moz-range-thumb{
  animation: stcThumbSpin var(--stc-thumb-anim-speed, 1.2s) linear infinite;
}
.stc-range.stc-thumb-anim.stc-thumb-anim-spin::-moz-range-thumb{
  animation: stcThumbSpin var(--stc-thumb-anim-speed, 1.2s) linear infinite;
}

.stc-thumb-anim.stc-thumb-anim-glow .stc-range::-webkit-slider-thumb{
  animation: stcThumbGlow var(--stc-thumb-anim-speed, 1.2s) ease-in-out infinite;
}
.stc-range.stc-thumb-anim.stc-thumb-anim-glow::-webkit-slider-thumb{
  animation: stcThumbGlow var(--stc-thumb-anim-speed, 1.2s) ease-in-out infinite;
}
.stc-thumb-anim.stc-thumb-anim-glow .stc-range::-moz-range-thumb{
  animation: stcThumbGlow var(--stc-thumb-anim-speed, 1.2s) ease-in-out infinite;
}
.stc-range.stc-thumb-anim.stc-thumb-anim-glow::-moz-range-thumb{
  animation: stcThumbGlow var(--stc-thumb-anim-speed, 1.2s) ease-in-out infinite;
}

/* Estilos do marcador (thumb) */
.stc-thumb-style-square .stc-range::-webkit-slider-thumb{border-radius:4px;}
.stc-thumb-style-square .stc-range::-moz-range-thumb{border-radius:4px;}

/* Mãozinha (SVG embutido) */
.stc-thumb-style-hand .stc-range::-webkit-slider-thumb{
  border-radius:0;
  border:0;
  box-shadow:none;
  background-color: var(--stc-thumb, #d11212);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M24 30V12c0-2.2 1.8-4 4-4s4 1.8 4 4v18h2V10c0-2.2 1.8-4 4-4s4 1.8 4 4v20h2V14c0-2.2 1.8-4 4-4s4 1.8 4 4v25c0 8.8-7.2 16-16 16H28c-6.2 0-11.6-3.6-14.2-9l-3.6-7.2c-1-2 .2-4.4 2.4-5.2 1.8-.6 3.8.1 4.8 1.8l4.6 7.8V30c0-2.2 1.8-4 4-4s4 1.8 4 4z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.22));
}
.stc-thumb-style-hand .stc-range::-moz-range-thumb{
  border-radius:0;
  border:0;
  box-shadow:none;
  background-color: var(--stc-thumb, #d11212);
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M24 30V12c0-2.2 1.8-4 4-4s4 1.8 4 4v18h2V10c0-2.2 1.8-4 4-4s4 1.8 4 4v20h2V14c0-2.2 1.8-4 4-4s4 1.8 4 4v25c0 8.8-7.2 16-16 16H28c-6.2 0-11.6-3.6-14.2-9l-3.6-7.2c-1-2 .2-4.4 2.4-5.2 1.8-.6 3.8.1 4.8 1.8l4.6 7.8V30c0-2.2 1.8-4 4-4s4 1.8 4 4z'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.22));
}

.stc-minmax{display:flex;justify-content:space-between;font-size:var(--stc-number-small-size,11px);opacity:.7;margin-top:6px}

.stc-btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:var(--stc-btn-pad-y,12px) var(--stc-btn-pad-x,14px);border-radius:var(--stc-btn-radius,999px);border:0;cursor:pointer;font-weight:950;text-decoration:none;font-size:var(--stc-btn-size,14px)}
.stc-btn-primary{background:var(--stc-primary);color:var(--stc-btn-text,#fff)}
.stc-btn-ghost{background:transparent;border:var(--stc-border-w,1px) solid var(--stc-border);color:var(--stc-text)}
.stc-btn-wide{width:100%;margin-top:18px}

.stc-form-title{font-weight:900;font-size:20px;text-align:var(--stc-step2-title-align, inherit)}
.stc-form-hint{margin-top:4px;font-size:13px;opacity:.8;color: var(--stc-step2-hint-color, inherit);text-align:var(--stc-step2-subtitle-align, inherit);}
.stc-form{margin-top:14px;display:grid;gap:12px}
.stc-form-fields{display:grid;gap:12px}

/*
  Campos (inputs/selects)
  - Usa variáveis CSS do widget para garantir que TODO ajuste do Elementor/painel obedeça.
  - !important evita que temas/Elementor sobrescrevam tamanhos, cores e raio.
*/
.stc-input{
  width:100%;
  padding: var(--stc-input-pad-y, 12px) var(--stc-input-pad-x, 14px) !important;
  border:1px solid var(--stc-input-border) !important;
  border-radius:var(--stc-input-radius,12px) !important;
  background:var(--stc-input-bg) !important;
  color:var(--stc-input-text) !important;
  box-shadow:var(--stc-input-shadow, none) !important;
  font-size:var(--stc-input-font-size, var(--stc-form-size,14px)) !important;
  font-weight: var(--stc-input-font-weight, 400) !important;
  font-family: var(--stc-input-font-family, inherit) !important;
}
.stc-lgpd{display:flex;gap:8px;align-items:flex-start;font-size:var(--stc-lgpd-size,12px);opacity:.9;color:var(--stc-lgpd-text, var(--stc-text))}
.stc-msg{margin-top:6px;font-size:var(--stc-msg-font-size,14px);color:var(--stc-msg-color, inherit)}
.stc-whats-wrap{margin-top:8px}
.stc-step2-sub{margin-top:4px;opacity:.8;font-size:13px}

/* Slider thumb (bolinha) */
.stc-range{appearance:none;-webkit-appearance:none;height:4px;border-radius:999px;
  background:
    linear-gradient(var(--stc-range-fill, var(--stc-primary)) 0 0) 0/var(--stc-range-pct,0%) 100% no-repeat,
    var(--stc-range-track, var(--stc-border));
  outline:none}
.stc-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:var(--stc-thumb-size,16px);height:var(--stc-thumb-size,16px);border-radius:50%;background:var(--stc-thumb, var(--stc-primary));border:2px solid var(--stc-thumb-border, #fff);box-shadow:0 2px 8px rgba(0,0,0,.18);cursor:pointer}
.stc-range::-moz-range-thumb{width:var(--stc-thumb-size,16px);height:var(--stc-thumb-size,16px);border-radius:50%;background:var(--stc-thumb, var(--stc-primary));border:2px solid var(--stc-thumb-border, #fff);box-shadow:0 2px 8px rgba(0,0,0,.18);cursor:pointer}
.stc-range::-moz-range-track{height:4px;border-radius:999px;background:var(--stc-range-track, var(--stc-border))}
.stc-range::-moz-range-progress{height:4px;border-radius:999px;background:var(--stc-range-fill, var(--stc-primary))}

.stc-typecard:hover{
  background: var(--stc-cat-hover-bg, var(--stc-secondary));
  border-color: var(--stc-cat-hover-border, var(--stc-primary));
  color: var(--stc-cat-hover-text, var(--stc-hover-text));
}
.stc-typecard:hover svg{opacity:1;fill:currentColor}

.stc-icon-img{width:28px;height:28px;object-fit:contain;display:block}

.stc-input, .stc-select{
  background:var(--stc-input-bg);
  color:var(--stc-input-text);
}

.stc-select[data-field="estado"]:focus,
.stc-select[data-field="estado"]:focus-visible,
.stc-select[data-field="cidade"]:focus,
.stc-select[data-field="cidade"]:focus-visible{
  background: var(--stc-state-focus-bg, var(--stc-input-bg, #fff));
  box-shadow:none;
  outline:none;
}

.stc-input::placeholder{
  color:var(--stc-placeholder, var(--stc-input-ph)) !important;
  opacity:1 !important;
  font-size:var(--stc-ph-size, var(--stc-input-font-size, var(--stc-form-size,14px))) !important;
  font-weight: var(--stc-placeholder-weight, 400) !important;
  font-family: var(--stc-input-font-family, inherit) !important;
}

/* Garantir que o tema não esconda as abas */
.stc-seg{display:flex!important}
.stc-seg-btn{display:block!important}

/* Garantir visibilidade de textos (sem mudar layout) */
.stc-input{color:var(--stc-input-color,#111) !important;}
.stc-input::placeholder{color:var(--stc-input-ph,#9aa0a6) !important;opacity:1 !important;}
 .stc-seg-btn{flex:1;padding:10px 12px;border:0;background:#fff;color:var(--stc-primary) !important;font-weight:900;cursor:pointer;min-height:var(--stc-seg-height, auto);transition:background .15s ease,color .15s ease, box-shadow .15s ease}
.stc-seg-btn[data-mode="credito"]{background:var(--stc-seg-credit-bg,#fff);color:var(--stc-seg-credit-text,#111) !important;box-shadow:inset 0 0 0 1px var(--stc-seg-credit-border,#e5e5e5)}
.stc-seg-btn[data-mode="credito"]:hover:not(.active){background:var(--stc-seg-credit-bg-h,#f5f5f5);color:var(--stc-seg-credit-text-h,#111) !important;box-shadow:inset 0 0 0 1px var(--stc-seg-credit-border-h,#e5e5e5)}
.stc-seg-btn[data-mode="credito"].active{background:var(--stc-seg-credit-bg-a,var(--stc-primary));color:var(--stc-seg-credit-text-a,#fff) !important;box-shadow:inset 0 0 0 1px var(--stc-seg-credit-border-a,var(--stc-primary))}
.stc-seg-btn[data-mode="parcela"]{background:var(--stc-seg-parc-bg,#fff);color:var(--stc-seg-parc-text,#111) !important;box-shadow:inset 0 0 0 1px var(--stc-seg-parc-border,#e5e5e5)}
.stc-seg-btn[data-mode="parcela"]:hover:not(.active){background:var(--stc-seg-parc-bg-h,#f5f5f5);color:var(--stc-seg-parc-text-h,#111) !important;box-shadow:inset 0 0 0 1px var(--stc-seg-parc-border-h,#e5e5e5)}
.stc-seg-btn[data-mode="parcela"].active{background:var(--stc-seg-parc-bg-a,var(--stc-primary));color:var(--stc-seg-parc-text-a,#fff) !important;box-shadow:inset 0 0 0 1px var(--stc-seg-parc-border-a,var(--stc-primary))}


/* ===== Botões Crédito/Parcela (cores personalizadas) ===== */
.stc-root .stc-seg-btn{
  background: #fff;
  border: 1px solid var(--stc-border, #e5e5e5);
}
.stc-root .stc-seg-btn[data-mode="credito"]{
  background: var(--stc-seg-credit-bg, #fff);
  color: var(--stc-seg-credit-text, #111);
  border-color: var(--stc-seg-credit-border, #e5e5e5);
}
.stc-root .stc-seg-btn[data-mode="credito"]:hover{
  background: var(--stc-seg-credit-bg-h, #f5f5f5);
  color: var(--stc-seg-credit-text-h, #111);
  border-color: var(--stc-seg-credit-border-h, #e5e5e5);
}
.stc-root .stc-seg-btn[data-mode="credito"].active{
  background: var(--stc-seg-credit-bg-a, #d11212);
  color: var(--stc-seg-credit-text-a, #fff);
  border-color: var(--stc-seg-credit-border-a, #d11212);
}

.stc-root .stc-seg-btn[data-mode="parcela"]{
  background: var(--stc-seg-parc-bg, #fff);
  color: var(--stc-seg-parc-text, #111);
  border-color: var(--stc-seg-parc-border, #e5e5e5);
}
.stc-root .stc-seg-btn[data-mode="parcela"]:hover{
  background: var(--stc-seg-parc-bg-h, #f5f5f5);
  color: var(--stc-seg-parc-text-h, #111);
  border-color: var(--stc-seg-parc-border-h, #e5e5e5);
}
.stc-root .stc-seg-btn[data-mode="parcela"].active{
  background: var(--stc-seg-parc-bg-a, #d11212);
  color: var(--stc-seg-parc-text-a, #fff);
  border-color: var(--stc-seg-parc-border-a, #d11212);
}

/* ===== Botões Simular/Enviar ===== */
.stc-root button[data-action="simular"].stc-btn-primary{
  background: var(--stc-btn-sim-bg, #d11212);
  color: var(--stc-btn-sim-text, #fff);
  border-color: var(--stc-btn-sim-border, #d11212);
}
.stc-root button[data-action="simular"].stc-btn-primary:hover{
  background: var(--stc-btn-sim-bg-h, #b80f0f);
  color: var(--stc-btn-sim-text-h, #fff);
  border-color: var(--stc-btn-sim-border-h, #b80f0f);
}
.stc-root button[data-action="enviar"].stc-btn-primary{
  background: var(--stc-btn-send-bg, #d11212);
  color: var(--stc-btn-send-text, #fff);
  border-color: var(--stc-btn-send-border, #d11212);
}
.stc-root button[data-action="enviar"].stc-btn-primary:hover{
  background: var(--stc-btn-send-bg-h, #b80f0f);
  color: var(--stc-btn-send-text-h, #fff);
  border-color: var(--stc-btn-send-border-h, #b80f0f);

}


/* ===== Botão Voltar (Etapa 2) ===== */
.stc-root button[data-action="voltar"].stc-btn-primary{
  background: var(--stc-btn-back-bg, var(--stc-primary));
  color: var(--stc-btn-back-text, var(--stc-btn-text, #fff));
  border-color: var(--stc-btn-back-border, var(--stc-primary));
}
.stc-root button[data-action="voltar"].stc-btn-primary:hover{
  background: var(--stc-btn-back-bg-h, var(--stc-btn-back-bg, var(--stc-primary)));
  color: var(--stc-btn-back-text-h, var(--stc-btn-back-text, var(--stc-btn-text, #fff)));
  border-color: var(--stc-btn-back-border-h, var(--stc-btn-back-border, var(--stc-primary)));
}

/* ===== Tamanho do texto dentro dos campos e mensagens ===== */
.stc-root .stc-input{ font-size: var(--stc-input-font-size, 14px); font-weight: var(--stc-input-font-weight, 400); font-family: var(--stc-input-font-family, inherit); }
.stc-root .stc-msg{ font-size: var(--stc-msg-font-size, 14px); }



/* Categoria em modo select (dropdown) */
.stc-typecards .stc-cat-select-wrap{
  position:relative;
  display:block;
  width:100%;
  text-align: var(--stc-cat-select-align, left);
}

/* Native select escondido (mantido para compatibilidade) */
.stc-cat-select-wrap .stc-cat-select{
  position:absolute !important;
  left:-99999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* Botão (campo fixo) */
.stc-cat-select-btn{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width: var(--stc-cat-select-width, 100%) !important;
  max-width: var(--stc-cat-select-max, 100%) !important;
  box-sizing:border-box;
  padding:var(--stc-input-pad-y,12px) var(--stc-input-pad-x,14px);
  border:1px solid var(--stc-cat-select-border, var(--stc-cat-border, #e5e5e5)) !important;
  border-radius:var(--stc-input-radius,12px) !important;
  background: var(--stc-cat-select-bg, var(--stc-input-bg, #fff)) !important;
  color: var(--stc-cat-select-value-color, var(--stc-cat-select-color, var(--stc-text, #111))) !important;
  font-size: var(--stc-cat-select-text-size, var(--stc-cat-text-size, 14px));
  font-weight: var(--stc-cat-select-value-weight, 700);
  cursor:pointer;
}

/* Não alterar cor do fundo do campo (fechado) no hover - evita CSS do tema/Elementor */
.stc-cat-select-btn:hover{
  background: var(--stc-cat-select-bg, var(--stc-input-bg, #fff)) !important;
  color: var(--stc-cat-select-value-color, var(--stc-cat-select-color, var(--stc-text, #111))) !important;
  border-color: var(--stc-cat-select-border, var(--stc-cat-border, #e5e5e5)) !important;
  box-shadow:none !important;
}

/* Mantém o fundo do campo fixo SEMPRE, mesmo quando a lista está aberta e o mouse passa nas opções (evita :hover no wrapper vindo do tema) */
.stc-cat-select-wrap:hover .stc-cat-select-btn,
.stc-cat-select-wrap:focus-within .stc-cat-select-btn,
.stc-cat-select-wrap.is-open .stc-cat-select-btn{
  background: var(--stc-cat-select-bg, var(--stc-input-bg, #fff)) !important;
  color: var(--stc-cat-select-value-color, var(--stc-cat-select-color, var(--stc-text, #111))) !important;
  border-color: var(--stc-cat-select-border, var(--stc-cat-border, #e5e5e5)) !important;
}



.stc-cat-select-text{display:block;flex:1;text-align:left;}
.stc-cat-select-row{display:inline-flex;align-items:center;gap:10px;}
.stc-cat-select-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;color:var(--stc-cat-icon, currentColor);}
.stc-cat-select-icon svg{width:22px;height:22px;fill:currentColor}
.stc-cat-select-icon .stc-icon-html{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;}
.stc-cat-select-icon .stc-icon-html i,.stc-cat-select-icon .stc-icon-html span{font-size:22px;line-height:1;}
.stc-cat-select-label{display:inline-block;}
.stc-cat-select-arrow{opacity:.85;color: var(--stc-cat-select-arrow-color, currentColor);}


.stc-cat-select-btn:focus,
.stc-cat-select-btn:focus-visible{
  outline:none !important;
  box-shadow:none !important;
}


/* Lista de opções */
.stc-cat-select-list{
  display:none;
  position:absolute;
  top: calc(100% + 8px);
  left:0;
  right:0;
  width: var(--stc-cat-select-width, 100%) !important;
  max-width: var(--stc-cat-select-max, 100%) !important;
  margin:0;
  padding:4px;
  list-style:none;  border:0 !important;
  border-radius:var(--stc-input-radius,12px) !important;
  background: var(--stc-cat-select-bg, #fff);
  box-shadow:none !important;
  z-index:9999;
  box-sizing:border-box;
  max-height:260px;
  overflow:auto;
}

.stc-cat-select-wrap.is-open .stc-cat-select-list{display:block;}

.stc-cat-select-list li{
  display:flex;
  align-items:center;
  padding:8px 12px;
  line-height:1.25;
  border-radius:var(--stc-input-radius,12px);
  cursor:pointer;
  font-size: var(--stc-cat-select-option-size, var(--stc-cat-text-size, 14px));
  font-weight: var(--stc-cat-select-option-weight, 400);
  color: var(--stc-cat-select-option-color, var(--stc-cat-select-color, var(--stc-text, #111)));

}

.stc-cat-select-list li:hover{
  background: transparent;
  color: var(--stc-cat-select-option-hover-color, var(--stc-cat-select-color, var(--stc-text, #111)));
}

.stc-cat-select-list li[aria-selected="true"]{
  background: transparent;
}





.stc-cat-select-list li:focus,
.stc-cat-select-list li:focus-visible{
  outline:none !important;
}

/* WhatsApp button (resultado) */
.stc-btn-whats{background:var(--stc-whats-bg,transparent);color:var(--stc-whats-text,var(--stc-text));border:var(--stc-border-w,1px) solid var(--stc-whats-border,var(--stc-primary));}
.stc-btn-whats:hover{background:var(--stc-whats-bg-h,var(--stc-primary));color:var(--stc-whats-text-h,#fff);border-color:var(--stc-whats-border-h,var(--stc-primary));}


/* LGPD checkbox accent */
.stc-lgpd input[type="checkbox"]{accent-color: var(--stc-lgpd-accent, var(--stc-primary));}

/* LGPD link styling */
.stc-lgpd a{
  color: var(--stc-lgpd-link, var(--stc-primary));
  font-size: var(--stc-lgpd-font-size, 12px);
  text-decoration: underline;
}
.stc-lgpd a:hover{opacity:.85}


/* ===== Responsivo: garantir caixinhas iguais no mobile ===== */
@media (max-width: 520px){
  .stc-typecards{grid-template-columns:repeat(3,1fr);gap:12px}
  .stc-typecard{padding:var(--stc-cat-card-padding,10px)}
  .stc-typecard .stc-icon{width:42px;height:42px;border-radius:12px}
}
@media (max-width: 380px){
  .stc-typecards{grid-template-columns:repeat(2,1fr)}
}

/* Ícones via HTML (Font Awesome etc.) */
.stc-icon-html{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;}
.stc-icon-html i,.stc-icon-html span{font-size:22px;line-height:1;}


/* Botão WhatsApp (sem formulário) - estilo separado (Elementor sobrescreve via selectors) */
.stc-root .stc-btn-whats-nofrm{ border: 1px solid transparent; }


/* Sucesso (painel no lugar do formulário) */
.stc-success{
  margin-top:10px;
  padding:18px 16px;
  border-radius:14px;
  background:var(--stc-success-bg,#ffffff);
  border:1px solid rgba(0,0,0,.08);
  display:flex;
  gap:12px;
  align-items:center;
}
.stc-success-icon{
  width:54px;
  height:54px;
  flex:0 0 54px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--stc-success-icon,#22c55e);
}
.stc-success-icon svg{width:54px;height:54px;display:block;fill:currentColor}
.stc-success-title{
  font-size:16px;
  font-weight:700;
  line-height:1.2;
  color:var(--stc-success-text, var(--stc-form-text, #111));
}
.stc-success-sub{
  margin-top:6px;
  font-size:14px;
  line-height:1.35;
  color:var(--stc-success-subtext, rgba(0,0,0,.7));
}


/* Feedback de envio (botão) */
.stc-loading-spinner{
  display:inline-block;
  width:14px;
  height:14px;
  border:2px solid currentColor;
  border-right-color: transparent;
  border-radius:50%;
  vertical-align:-2px;
  margin-left:8px;
  animation: stcSpin .8s linear infinite;
}
@keyframes stcSpin{ to{ transform: rotate(360deg);} }

.stc-loading-overlay{
  position:absolute;
  inset:0;
  background: rgba(255,255,255,.78);
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius: 16px;
  z-index: 50;
  font-weight:700;
}

.stc-loading-progress{
  height:6px;
  width:100%;
  background: rgba(0,0,0,.08);
  border-radius: 999px;
  overflow:hidden;
  margin-top:10px;
}
.stc-loading-progress > span{
  display:block;
  height:100%;
  width:30%;
  background: currentColor;
  opacity:.5;
  animation: stcProg 1.2s ease-in-out infinite;
}
@keyframes stcProg{
  0%{ transform: translateX(-110%); }
  100%{ transform: translateX(410%); }
}

/* Texto + pontos animados */
.stc-loading-dots{
  display:inline-flex;
  gap:4px;
  margin-left:8px;
  vertical-align:middle;
}
.stc-loading-dots > span{
  width:4px;
  height:4px;
  border-radius:50%;
  background: currentColor;
  opacity:.35;
  animation: stcDots 1s ease-in-out infinite;
}
.stc-loading-dots > span:nth-child(2){ animation-delay: .15s; }
.stc-loading-dots > span:nth-child(3){ animation-delay: .3s; }
@keyframes stcDots{
  0%, 100%{ transform: translateY(0); opacity:.35; }
  50%{ transform: translateY(-2px); opacity:.85; }
}

/* Apenas desabilitar */
.stc-loading-disabled{
  cursor: not-allowed;
  opacity: .75;
}

/* ============================================================
   Hover premium ("Fintech") — aplicado somente quando o widget
   adiciona a classe .stc-hover-fintech no botão Enviar.
   Mantém o restante do plugin intacto.
   ============================================================ */

.stc-root .stc-btn.stc-hover-fintech{
  transition:
    transform 240ms cubic-bezier(.2,.8,.2,1),
    box-shadow 240ms cubic-bezier(.2,.8,.2,1),
    filter 240ms cubic-bezier(.2,.8,.2,1);
  will-change: transform;
}

.stc-root .stc-btn.stc-hover-fintech:hover{
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 10px 22px rgba(0,0,0,.14);
  filter: saturate(1.05);
}

.stc-root .stc-btn.stc-hover-fintech:active{
  transform: translateY(-1px) scale(1.01);
  box-shadow: 0 8px 18px rgba(0,0,0,.12);
}

@media (prefers-reduced-motion: reduce){
  .stc-root .stc-btn.stc-hover-fintech{
    transition: none !important;
  }
  .stc-root .stc-btn.stc-hover-fintech:hover,
  .stc-root .stc-btn.stc-hover-fintech:active{
    transform: none !important;
    box-shadow: none !important;
    filter: none !important;
  }
}

/* Botão Voltar (Etapa 2) */
.stc-btn-voltar{ margin-top: 10px; }


/* Campo extra (dropdown) */
.stc-root .stc-extra-field{margin-top:12px;}
.stc-root .stc-extra-field .stc-input{width:100%;}


/* Fix: garantir que ajustes de tamanho das caixinhas (Elementor controls) sejam obedecidos mesmo com CSS do tema/Jet */
.stc-root .stc-typecard{
  min-height: var(--stc-cat-minh,100px) !important;
  padding: var(--stc-cat-card-padding,12px) !important;
  border-radius: var(--stc-cat-card-radius,14px) !important;
}
.stc-root .stc-typecards.is-carousel .stc-typecard{
  min-width: var(--stc-cat-minw,110px) !important;
}



.stc-textarea{resize:vertical;}
