
  #icl-odonto-form-root, #icl-odonto-form-root * { box-sizing: border-box; }
  #icl-odonto-form-root {
    --icl-primary: #0f766e;
    --icl-primary-dark: #0b544e;
    --icl-bg: #ffffff;
    --icl-text: #1f2937;
    --icl-muted: #6b7280;
    --icl-border: #d1d5db;
    --icl-error: #b91c1c;
    --icl-success-bg: #ecfdf5;
    --icl-success-text: #065f46;
    --icl-radius: 10px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    max-width: 480px;
    width: 100%;
    margin: 0 auto;
  }
  .icl-odonto-card {
    background: var(--icl-bg);
    border: 1px solid var(--icl-border);
    border-radius: var(--icl-radius);
    padding: 20px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
  }
  .icl-odonto-title {
    font-size: 19px;
    font-weight: 700;
    color: var(--icl-text);
    margin: 0 0 4px;
    line-height: 1.3;
  }
  .icl-odonto-subtitle {
    font-size: 13.5px;
    color: var(--icl-muted);
    margin: 0 0 16px;
    line-height: 1.4;
  }
  .icl-odonto-row {
    display: flex;
    gap: 10px;
  }
  .icl-odonto-row > .icl-odonto-field { flex: 1; min-width: 0; }
  .icl-odonto-field { margin-bottom: 12px; }
  .icl-odonto-field label {
    display: block;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--icl-text);
    margin-bottom: 4px;
  }
  .icl-odonto-field input,
  .icl-odonto-field select,
  .icl-odonto-field textarea {
    width: 100%;
    padding: 10px 12px;
    font-size: 14.5px;
    border: 1px solid var(--icl-border);
    border-radius: 8px;
    color: var(--icl-text);
    background: #fff;
    font-family: inherit;
  }
  .icl-odonto-field input:focus,
  .icl-odonto-field select:focus,
  .icl-odonto-field textarea:focus {
    outline: none;
    border-color: var(--icl-primary);
    box-shadow: 0 0 0 3px rgba(15,118,110,0.15);
  }
  .icl-odonto-field textarea { resize: vertical; min-height: 60px; }
  .icl-odonto-error-msg {
    display: none;
    color: var(--icl-error);
    font-size: 12px;
    margin-top: 3px;
  }
  .icl-odonto-field.icl-odonto-invalid input,
  .icl-odonto-field.icl-odonto-invalid select {
    border-color: var(--icl-error);
  }
  .icl-odonto-field.icl-odonto-invalid .icl-odonto-error-msg { display: block; }
  .icl-odonto-consent {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 12px;
    color: var(--icl-muted);
    margin: 6px 0 16px;
    line-height: 1.4;
  }
  .icl-odonto-consent input { width: auto; margin-top: 2px; flex-shrink: 0; }
  .icl-odonto-consent a { color: var(--icl-primary); text-decoration: underline; }
  .icl-odonto-submit {
    width: 100%;
    padding: 13px 16px;
    background: var(--icl-primary);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background .15s ease;
  }
  .icl-odonto-submit:hover { background: var(--icl-primary-dark); }
  .icl-odonto-submit:disabled { opacity: .65; cursor: not-allowed; }
  .icl-odonto-disclaimer {
    font-size: 11px;
    color: var(--icl-muted);
    text-align: center;
    margin-top: 10px;
  }
  .icl-odonto-feedback {
    display: none;
    padding: 16px;
    border-radius: var(--icl-radius);
    text-align: center;
    font-size: 14.5px;
  }
  .icl-odonto-feedback.icl-odonto-show { display: block; }
  .icl-odonto-feedback.icl-odonto-success {
    background: var(--icl-success-bg);
    color: var(--icl-success-text);
  }
  .icl-odonto-feedback.icl-odonto-fail {
    background: #fef2f2;
    color: var(--icl-error);
  }
  .icl-odonto-feedback .icl-odonto-wpp-fallback {
    display: inline-block;
    margin-top: 10px;
    padding: 9px 16px;
    background: #25D366;
    color: #fff;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 13.5px;
  }
  /* honeypot antispam - fica invisível para humanos */
  .icl-odonto-hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px; height: 1px; overflow: hidden;
  }
  @media (max-width: 420px) {
    .icl-odonto-row { flex-direction: column; gap: 0; }
  }


  #icl-odonto-fl-root, #icl-odonto-fl-root * { box-sizing: border-box; }
  #icl-odonto-fl-root {
    --icl-primary: #0f766e;
    --icl-primary-dark: #0b544e;
    --icl-bg: #ffffff;
    --icl-text: #1f2937;
    --icl-muted: #6b7280;
    --icl-border: #d1d5db;
    --icl-error: #b91c1c;
    --icl-success-bg: #ecfdf5;
    --icl-success-text: #065f46;
    --icl-radius: 10px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  }

  /* botão flutuante */
  .icl-odonto-fl-btn {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 999998;
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--icl-primary);
    color: #fff;
    border: none;
    border-radius: 999px;
    padding: 13px 18px 13px 14px;
    font-size: 14.5px;
    font-weight: 700;
    box-shadow: 0 4px 14px rgba(0,0,0,0.22);
    cursor: pointer;
    animation: icl-odonto-fl-pulse 2.6s ease-in-out infinite;
  }
  .icl-odonto-fl-btn:hover { background: var(--icl-primary-dark); }
  .icl-odonto-fl-btn .icl-odonto-fl-icon {
    width: 22px; height: 22px; flex-shrink: 0;
  }
  @keyframes icl-odonto-fl-pulse {
    0%, 100% { box-shadow: 0 4px 14px rgba(0,0,0,0.22), 0 0 0 0 rgba(15,118,110,0.45); }
    50% { box-shadow: 0 4px 14px rgba(0,0,0,0.22), 0 0 0 8px rgba(15,118,110,0); }
  }
  @media (max-width: 480px) {
    .icl-odonto-fl-btn { right: 12px; bottom: 12px; padding: 12px 14px; }
    .icl-odonto-fl-btn .icl-odonto-fl-label { display: none; }
  }

  /* overlay + modal */
  .icl-odonto-fl-overlay {
    position: fixed; inset: 0;
    background: rgba(17,24,39,0.55);
    z-index: 999999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 16px;
    overflow-y: auto;
  }
  .icl-odonto-fl-overlay.icl-odonto-fl-open { display: flex; }
  .icl-odonto-fl-modal {
    position: relative;
    background: var(--icl-bg);
    border-radius: var(--icl-radius);
    max-width: 460px;
    width: 100%;
    max-height: 92vh;
    overflow-y: auto;
    padding: 22px 20px 18px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.25);
  }
  .icl-odonto-fl-close {
    position: absolute;
    top: 10px; right: 10px;
    width: 30px; height: 30px;
    border: none;
    background: #f3f4f6;
    color: var(--icl-muted);
    border-radius: 50%;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
  }
  .icl-odonto-fl-close:hover { background: #e5e7eb; color: var(--icl-text); }

  .icl-odonto-fl-title { font-size: 18.5px; font-weight: 700; color: var(--icl-text); margin: 4px 0 4px; padding-right: 26px; }
  .icl-odonto-fl-subtitle { font-size: 13px; color: var(--icl-muted); margin: 0 0 14px; line-height: 1.4; }

  .icl-odonto-fl-row { display: flex; gap: 10px; }
  .icl-odonto-fl-row > .icl-odonto-fl-field { flex: 1; min-width: 0; }
  .icl-odonto-fl-field { margin-bottom: 11px; }
  .icl-odonto-fl-field label { display: block; font-size: 12px; font-weight: 600; color: var(--icl-text); margin-bottom: 4px; }
  .icl-odonto-fl-field input, .icl-odonto-fl-field select, .icl-odonto-fl-field textarea {
    width: 100%; padding: 9px 11px; font-size: 14px;
    border: 1px solid var(--icl-border); border-radius: 8px;
    color: var(--icl-text); background: #fff; font-family: inherit;
  }
  .icl-odonto-fl-field input:focus, .icl-odonto-fl-field select:focus, .icl-odonto-fl-field textarea:focus {
    outline: none; border-color: var(--icl-primary); box-shadow: 0 0 0 3px rgba(15,118,110,0.15);
  }
  .icl-odonto-fl-field textarea { resize: vertical; min-height: 54px; }
  .icl-odonto-fl-error-msg { display: none; color: var(--icl-error); font-size: 11.5px; margin-top: 3px; }
  .icl-odonto-fl-field.icl-odonto-fl-invalid input, .icl-odonto-fl-field.icl-odonto-fl-invalid select { border-color: var(--icl-error); }
  .icl-odonto-fl-field.icl-odonto-fl-invalid .icl-odonto-fl-error-msg { display: block; }

  .icl-odonto-fl-consent { display: flex; align-items: flex-start; gap: 8px; font-size: 11.5px; color: var(--icl-muted); margin: 4px 0 14px; line-height: 1.4; }
  .icl-odonto-fl-consent input { width: auto; margin-top: 2px; flex-shrink: 0; }
  .icl-odonto-fl-consent a { color: var(--icl-primary); text-decoration: underline; }

  .icl-odonto-fl-submit {
    width: 100%; padding: 12px 16px; background: var(--icl-primary); color: #fff;
    font-size: 14.5px; font-weight: 700; border: none; border-radius: 8px; cursor: pointer;
  }
  .icl-odonto-fl-submit:hover { background: var(--icl-primary-dark); }
  .icl-odonto-fl-submit:disabled { opacity: .65; cursor: not-allowed; }

  .icl-odonto-fl-feedback { display: none; padding: 14px; border-radius: var(--icl-radius); text-align: center; font-size: 14px; }
  .icl-odonto-fl-feedback.icl-odonto-fl-show { display: block; }
  .icl-odonto-fl-feedback.icl-odonto-fl-success { background: var(--icl-success-bg); color: var(--icl-success-text); }
  .icl-odonto-fl-feedback.icl-odonto-fl-fail { background: #fef2f2; color: var(--icl-error); }
  .icl-odonto-fl-feedback .icl-odonto-fl-wpp-fallback {
    display: inline-block; margin-top: 10px; padding: 9px 16px; background: #25D366; color: #fff;
    border-radius: 8px; text-decoration: none; font-weight: 600; font-size: 13.5px;
  }

  .icl-odonto-fl-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Integração visual com Sorriso Taguatinga; campos e fluxo dos arquivos enviados. */
#icl-odonto-form-root,#icl-odonto-fl-root{--icl-primary:#21675c;--icl-primary-dark:#174f46;--icl-text:#163b45;--icl-muted:#53666b;--icl-border:#d5ded8;--icl-radius:14px;font-family:var(--font,system-ui,sans-serif)}
#icl-odonto-form-root{max-width:none}
#icl-odonto-form-root .icl-odonto-card{padding:30px;border:0;border-radius:18px;box-shadow:0 20px 60px #0000000d}
.icl-odonto-title{font-size:23px;letter-spacing:-.025em}
.icl-odonto-subtitle{margin:10px 0 23px;line-height:1.65}
.icl-odonto-field{margin-bottom:15px}
.icl-odonto-field label,.icl-odonto-fl-field label{font-size:12px;line-height:1.5}
.icl-odonto-field input,.icl-odonto-field select{min-height:46px}
.icl-odonto-consent{font-size:12px;line-height:1.7;margin-top:10px}
.icl-odonto-consent input,.icl-odonto-fl-consent input{width:17px;height:17px;accent-color:#21675c}
.icl-odonto-disclaimer{font-size:11px;line-height:1.7}
.icl-odonto-fl-btn{z-index:90;animation:none;min-height:50px;font-family:inherit}
.icl-odonto-fl-overlay{z-index:1000;overscroll-behavior:contain}
.icl-odonto-fl-modal{max-width:500px;max-height:calc(100dvh - 32px);border-radius:18px;padding:25px 26px 23px;overscroll-behavior:contain}
.icl-odonto-fl-title{font-size:21px;line-height:1.25;padding-right:40px}
.icl-odonto-fl-subtitle{line-height:1.65;margin-bottom:20px}
.icl-odonto-fl-close{width:42px;height:42px;top:13px;right:13px;font-size:18px}
.icl-odonto-fl-field{margin-bottom:14px}
.icl-odonto-fl-field input,.icl-odonto-fl-field select{min-height:43px}
.icl-odonto-fl-consent{font-size:11.5px;line-height:1.7;margin-top:10px}
.icl-odonto-fl-submit,.icl-odonto-submit{min-height:48px;line-height:1.5}
.icl-odonto-feedback,.icl-odonto-fl-feedback{line-height:1.75;margin-top:12px}
@media(max-width:760px){.site-footer{padding-bottom:90px}.icl-odonto-field input,.icl-odonto-field select,.icl-odonto-field textarea,.icl-odonto-fl-field input,.icl-odonto-fl-field select{font-size:16px!important}.icl-odonto-fl-btn{bottom:max(14px,env(safe-area-inset-bottom));right:14px}.icl-odonto-fl-modal{max-height:calc(100dvh - 24px);padding:25px 21px 20px}.icl-odonto-fl-overlay{padding:12px}.icl-odonto-fl-title{font-size:20px}.icl-odonto-fl-row{flex-direction:column;gap:0}#icl-odonto-form-root .icl-odonto-card{padding:26px 22px}}
#icl-odonto-form-root{scroll-margin-top:115px}.adtg-inline-quote{margin-top:40px;padding:28px;background:#f0f4e9;border-radius:18px;scroll-margin-top:115px}.adtg-inline-quote p{font-size:.9rem}
@media(max-width:760px){.adtg-inline-quote{padding:16px;margin-top:30px}}
@media print{#icl-odonto-form-root,#icl-odonto-fl-root{display:none!important}}
