.elementor-kit-13671{--e-global-color-primary:#F48120;--e-global-color-secondary:#3C3C3B;--e-global-color-text:#000000;--e-global-color-accent:#F48120;--e-global-color-32d5ec4:#FFFFFF;--e-global-color-d840140:#F0F0F0;--e-global-typography-primary-font-family:"Gantari";--e-global-typography-primary-font-weight:600;--e-global-typography-primary-text-decoration:none;--e-global-typography-secondary-font-family:"Gantari";--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-text-decoration:none;--e-global-typography-text-font-family:"Gantari";--e-global-typography-text-font-weight:400;--e-global-typography-text-text-decoration:none;--e-global-typography-accent-font-family:"Gantari";--e-global-typography-accent-font-weight:800;--e-global-typography-accent-text-decoration:none;font-family:"Gantari", Sans-serif;text-decoration:none;}.elementor-kit-13671 e-page-transition{background-color:var( --e-global-color-32d5ec4 );}.elementor-kit-13671 a{font-family:"Gantari", Sans-serif;text-decoration:none;}.elementor-kit-13671 a:hover{text-decoration:none;}.elementor-kit-13671 h1{font-family:"Gantari", Sans-serif;text-decoration:none;}.elementor-kit-13671 h2{font-family:"Gantari", Sans-serif;text-decoration:none;}.elementor-kit-13671 h3{font-family:"Gantari", Sans-serif;text-decoration:none;}.elementor-kit-13671 h4{font-family:"Gantari", Sans-serif;text-decoration:none;}.elementor-kit-13671 h5{font-family:"Gantari", Sans-serif;text-decoration:none;}.elementor-kit-13671 h6{font-family:"Gantari", Sans-serif;text-decoration:none;}.elementor-kit-13671 button,.elementor-kit-13671 input[type="button"],.elementor-kit-13671 input[type="submit"],.elementor-kit-13671 .elementor-button{font-family:"Gantari", Sans-serif;text-decoration:none;border-radius:20px 20px 20px 20px;}.elementor-kit-13671 label{text-decoration:none;}.elementor-kit-13671 input:not([type="button"]):not([type="submit"]),.elementor-kit-13671 textarea,.elementor-kit-13671 .elementor-field-textual{text-decoration:none;border-radius:20px 20px 20px 20px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-13671 h1{font-size:22px;}.elementor-kit-13671 h2{font-size:22px;}.elementor-kit-13671 h3{font-size:22px;}.elementor-kit-13671 h4{font-size:20px;}.elementor-kit-13671 h5{font-size:18px;}.elementor-kit-13671 h6{font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Reset e tipografia base */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }

/* Transição suave para campos ocultos */
fieldset.card {
  transition: opacity 0.3s ease, transform 0.3s ease;
}

fieldset.card[style*="display: none"] {
  opacity: 0;
  transform: translateY(-10px);
}

:root {
  --bg:#F9FAFB;
  --card:#FFFFFF;
  --border:#E5E7EB;
  --text:#1F2937;
  --muted:#4B5563;
  --muted-contrast:#374151;
  --accent:#F97316;
  --accent-600:#EA580C;
  --accent-700:#C2410C;
  --accent-soft:#FFEDD5;
  --accent-soft-border:#FED7AA;
  --accent-contrast:#FFFFFF;
  --chip:#FDF3EC;
  --chip-bd:#F7E3D6;
  --shadow:0 18px 40px rgba(15, 23, 42, 0.08);

  --info-bg:#EFF6FF; --info-bd:#C7D8F8; --info-fg:#1E3A8A;
  --warn-bg:#FFF7ED; --warn-bd:#FDE3C7; --warn-fg:#7C2D12;
  --succ-bg:#ECFDF5; --succ-bd:#CFF3E3; --succ-fg:#065F46;
  --err-bg:#FEF2F2; --err-bd:#F9D3D3; --err-fg:#7F1D1D;
}

body {
  margin: 0;
  font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.5;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Layout */
.form-div {
  width: 100%;
  max-width: 760px;
  margin: 24px auto;
  padding: 28px 32px;
  background: var(--card);
  border-radius: 16px;
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  transition: box-shadow .3s ease, transform .3s ease;
}
.form-div.loading {
  opacity: .75;
  pointer-events: none;
}
.form-div.loading .form-footer button {
  cursor: wait;
}

.step-title {
  font-size: 1.55rem;
  font-weight: 700;
  margin: 0;
  color: var(--text);
  line-height: 1.3;
}
.step-subtitle {
  font-size: 1rem;
  color: var(--muted);
  margin: 8px 0 0 0;
  line-height: 1.5;
}

#alerts {
  margin: 16px 0 10px;
}
#alerts:focus {
  outline: none;
}

/* Cards e fieldsets */
.card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 20px 18px;
  margin: 18px 0;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.card legend {
  padding: 0 6px;
  font-weight: 600;
  color: var(--text);
}
.hint {
  color: var(--muted);
  font-size: .95rem;
  margin: 6px 0 12px 0;
}
.readonly {
  opacity: .95;
}
.pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: .9rem;
  background: var(--accent-soft);
  border: 1px solid var(--accent-soft-border);
  color: var(--muted-contrast);
  font-weight: 600;
}
.pill.locked::before {
  content: "🔒";
}

/* Switch */
.switch {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  user-select: none;
}
.switch input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.slider {
  position: relative;
  width: 54px;
  height: 30px;
  flex: 0 0 54px;
  background: #E5E7EB;
  border-radius: 999px;
  border: 1px solid #D7DEE6;
  transition: background .2s, border-color .2s;
}
.slider::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 24px;
  height: 24px;
  background: #FFFFFF;
  border-radius: 50%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .08);
  transition: transform .2s;
}
.switch input:checked + .slider {
  background: var(--accent);
  border-color: var(--accent);
}
.switch input:checked + .slider::after {
  transform: translateX(24px);
}
.switch input:focus-visible + .slider {
  box-shadow: 0 0 0 3px rgba(249, 115, 22, .3);
}
.switch-label {
  color: var(--muted-contrast);
  font-size: .95rem;
  transition: color .2s ease, font-weight .2s ease;
}
.switch input:checked ~ .switch-label {
  color: var(--text);
  font-weight: 600;
}

/* Grid de checkboxes */
.checkbox-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
@media (max-width: 360px) {
  .checkbox-grid { grid-template-columns: 1fr; gap: 10px; }
}
.check {
  display: grid;
  grid-template-columns: 18px 1fr;
  grid-auto-rows: auto;
  column-gap: 0;
  row-gap: 6px;
  align-items: start;
  background: #FAFAFA;
  border: 1px solid #E0E0E0;
  padding: 14px 16px;
  border-radius: 7px;
  color: var(--text);
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
  cursor: pointer;
}
.check:hover {
  background-color: #F5F5F5;
}
.check input {
  grid-column: 1;
  grid-row: 1 / span 2;
  width: 18px;
  height: 18px;
  accent-color: var(--accent);
}
.label-text { font-weight: 600; color: #222; grid-column: 2; grid-row: 1; }
.desc { color: #494949; font-size: .875rem; line-height: 1.45; grid-column: 2; grid-row: 2; }
.hint-bottom { font-size: .9rem; color: #666; margin-top: .5rem; }

/* Realce quando selecionado (browsers com :has) */
.check:has(input:checked) {
  background-color: #FFFFFF;
  border-color: #BDBDBD;
  box-shadow: 0 0 0 2px rgba(37, 211, 102, .15);
}
.check input:focus-visible {
  outline: 2px solid #25D366;
  outline-offset: 2px;
  border-radius: 6px;
}

/* Fallback simples para browsers sem :has */
@supports not (.elementor-kit-13671(:has(*))) {
  .check input:checked ~ .label-text { color: #111; }
  .check input:checked ~ .desc { color: #333; }
}

/* Rodapé do formulário */
.form-footer {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 20px;
}
.form-footer button {
  width: 100%;
  background: var(--accent);
  color: var(--accent-contrast);
  border: none;
  padding: 12px 20px;
  border-radius: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.form-footer button:hover {
  background: var(--accent-600);
  box-shadow: 0 10px 22px rgba(249, 115, 22, .25);
}
.form-footer button:active {
  background: var(--accent-700);
  transform: translateY(1px);
}
.form-footer button:focus-visible {
  outline: 3px solid rgba(249, 115, 22, .35);
  outline-offset: 3px;
}
.form-footer button[disabled] {
  opacity: .6;
  cursor: not-allowed;
  box-shadow: none;
  transform: none;
}
@media (min-width: 560px) {
  .form-footer {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
  .form-footer button {
    width: auto;
  }
}

.meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
  min-width: 0;
}
@media (min-width: 560px) {
  .meta {
    flex-direction: row;
    align-items: center;
    gap: 16px;
  }
}
.help-link {
  color: var(--muted);
  font-size: .95rem;
  text-decoration: underline;
  transition: color .2s ease;
}
.help-link:hover {
  color: var(--accent-600);
}

.last-update {
  color: var(--muted);
  font-size: .95rem;
}

.hidden { display: none !important; }
.visible { display: block !important; }

/* Alerts */
.alert {
  border-radius: 12px;
  padding: 12px 14px;
  font-size: .95rem;
  border: 1px solid;
  margin: 8px 0;
}
.alert.info { background: var(--info-bg); border-color: var(--info-bd); color: var(--info-fg); }
.alert.warn { background: var(--warn-bg); border-color: var(--warn-bd); color: var(--warn-fg); }
.alert.success { background: var(--succ-bg); border-color: var(--succ-bd); color: var(--succ-fg); }
.alert.error { background: var(--err-bg); border-color: var(--err-bd); color: var(--err-fg); }
.alert a {
  color: inherit;
  font-weight: 600;
  text-decoration: underline;
}

/* Estados de carregamento */
.inline-loader,
.loading-banner {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: .95rem;
  color: var(--muted-contrast);
}
.inline-loader .spinner,
.loading-banner .spinner {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid rgba(249, 115, 22, .25);
  border-top-color: var(--accent);
  animation: spin .8s linear infinite;
}

/* Pós-submit */
#pos-submit {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .3s ease, transform .3s ease;
  text-align: center;
  padding: 32px 0;
}
#pos-submit.visible {
  opacity: 1;
  transform: translateY(0);
}
#pos-submit .step-title {
  margin-bottom: 8px;
}
#pos-submit .text-area .small {
  color: var(--muted);
  font-size: .9rem;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}/* End custom CSS */