/* ============================================================
   Core Play — tema de diálogos (SweetAlert2) + ajustes do form
   CONCEITO 2026: card CLARO premium · accent laranja #eb7100
   (casa com o redesign mobile-first de site_old.php)
   $ verde #16a34a · WhatsApp #25D366
   ============================================================ */

:root{
  --cpd: #eb7100; --cpd-l:#ff9a3d; --cpd-d:#c75f00;
  --cpd-ink:#14161b; --cpd-ink2:#5b6270; --cpd-line:#e7e9ee;
}

/* ---------- SweetAlert2: tema cp-swal (claro/premium) ---------- */
.swal2-popup.cp-swal {
  background: #ffffff;
  color: var(--cpd-ink);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 22px;
  box-shadow: 0 26px 70px rgba(0, 0, 0, .5), 0 4px 14px rgba(0,0,0,.25);
  font-family: inherit;
  padding: 1.7em 1.5em 1.5em;
  position: relative;
  overflow: hidden;
}
.swal2-popup.cp-swal::before{ content:""; position:absolute; inset:0 0 auto 0; height:5px; background:linear-gradient(90deg,var(--cpd),var(--cpd-l)); }

.swal2-popup.cp-swal .swal2-title {
  color: var(--cpd-ink);
  font-weight: 900;
  font-size: 1.38rem;
  line-height: 1.22;
  letter-spacing: -.01em;
  margin-top: .2em;
}

.swal2-popup.cp-swal .swal2-html-container,
.swal2-popup.cp-swal #swal2-html-container {
  color: #4a5160;
  font-size: .98rem;
  line-height: 1.55;
}
.swal2-popup.cp-swal .swal2-html-container b { color: var(--cpd-ink); }

/* botões */
.swal2-popup.cp-swal .swal2-actions { gap: 10px; flex-wrap: wrap; margin-top: 1.3em; }

.swal2-popup.cp-swal .swal2-styled {
  border-radius: 13px;
  font-weight: 800;
  letter-spacing: .01em;
  padding: .8em 1.5em;
  min-height: 50px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .14);
  transition: transform .12s ease, filter .12s ease, box-shadow .12s ease;
}
.swal2-popup.cp-swal .swal2-styled:hover { filter: brightness(1.05); transform: translateY(-2px); }
.swal2-popup.cp-swal .swal2-styled:active { transform: translateY(0); }

/* confirm primário = laranja da marca (gradiente) */
.swal2-popup.cp-swal .swal2-confirm {
  background: linear-gradient(180deg,var(--cpd-l),var(--cpd)) !important;
  color: #fff !important;
  box-shadow: 0 12px 26px rgba(235,113,0,.42) !important;
}

/* cancel sutil */
.swal2-popup.cp-swal .swal2-cancel {
  background-color: #f1f2f5 !important;
  color: #3a4150 !important;
  border: 1px solid rgba(0, 0, 0, .1) !important;
}
.swal2-popup.cp-swal .swal2-deny {
  background: linear-gradient(180deg,#2bd96f,#16a34a) !important;
  color: #fff !important;
}

/* foco visível (TV / teclado) */
.swal2-popup.cp-swal .swal2-styled:focus-visible {
  outline: 3px solid var(--cpd);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px rgba(235,113,0,.25);
}

/* close button */
.swal2-popup.cp-swal .swal2-close { color: #b3b8c2; font-size: 2em; }
.swal2-popup.cp-swal .swal2-close:hover { color: var(--cpd-d); }
.swal2-popup.cp-swal .swal2-close:focus { box-shadow: none; outline: 2px solid var(--cpd); border-radius: 8px; }

/* ícones */
.swal2-popup.cp-swal .swal2-icon.swal2-success [class^='swal2-success-line'] { background-color: #16a34a; }
.swal2-popup.cp-swal .swal2-icon.swal2-success .swal2-success-ring { border-color: rgba(22, 163, 74, .3); }
.swal2-popup.cp-swal .swal2-icon.swal2-error { border-color: rgba(226,59,59,.5); color: #e23b3b; }
.swal2-popup.cp-swal .swal2-icon.swal2-error [class^='swal2-x-mark-line'] { background-color: #e23b3b; }
.swal2-popup.cp-swal .swal2-icon.swal2-warning { border-color: #f59e0b; color: #f59e0b; }
.swal2-popup.cp-swal .swal2-icon.swal2-info { border-color: var(--cpd); color: var(--cpd); }
.swal2-popup.cp-swal .swal2-icon.swal2-question { border-color: var(--cpd); color: var(--cpd); }

/* loader/spinner laranja */
.swal2-popup.cp-swal .swal2-loader { border-color: var(--cpd) transparent var(--cpd) transparent; }

/* backdrop levemente mais escuro p/ destacar o card claro */
.swal2-container.cp-swal-bg, .swal2-backdrop-show { background: rgba(8,10,14,.66); }

/* tema escuro do SO: mantém o card CLARO (conceito novo) mas ajusta contraste do backdrop */
@media (prefers-color-scheme: dark) {
  .swal2-popup.cp-swal { box-shadow: 0 26px 70px rgba(0,0,0,.7); }
}

/* ---------- Form: headline + prova social (legado, ainda usado por outros layouts) ---------- */
.cp-form-title { font-weight: 800; font-size: 1.05rem; margin: 0 0 .35rem; letter-spacing: .01em; }
.cp-form-trust { font-size: .72rem; opacity: .85; margin: 0 0 1rem; letter-spacing: .03em; line-height: 1.5; }

/* CTAs do branch "já solicitou" (verde dinheiro / verde WhatsApp — site_old sobrescreve no <style> da página) */
.cp-cta-assinar { background-color: #16a34a !important; border-color: #16a34a !important; color: #fff !important; }
.cp-cta-assinar:hover, .cp-cta-assinar:focus-visible { background-color: #15803d !important; border-color: #15803d !important; color: #fff !important; }
.cp-cta-whatsapp { background-color: #25D366 !important; border-color: #25D366 !important; color: #0b3d1f !important; font-weight: 700; }
.cp-cta-whatsapp:hover, .cp-cta-whatsapp:focus-visible { background-color: #1da851 !important; border-color: #1da851 !important; color: #fff !important; }

/* ---------- intl-tel-input: encaixe no card claro ---------- */
.iti { width: 100%; display: block; }
.iti input#telefone, .iti input.form-control { width: 100%; font-size: 16px !important; min-height: 54px; }
.iti__selected-flag { border-radius: 14px 0 0 14px; padding: 0 8px 0 12px; }
.iti--separate-dial-code .iti__selected-flag { background-color: #f1f2f5; border: none; border-right: 1px solid var(--cpd-line); }
.iti__selected-dial-code { color: var(--cpd-ink) !important; font-size: 15px; margin-left: 6px; }

/* dropdown de países */
.iti__country-list {
  background-color: #fff; color: var(--cpd-ink);
  border: 1px solid var(--cpd-line); box-shadow: 0 16px 44px rgba(0, 0, 0, .25);
  border-radius: 14px; min-width: 300px; max-width: 92vw; max-height: 256px; overflow-y: auto; margin-top: 4px;
}
.iti__country { padding: 9px 12px; white-space: nowrap; }
.iti__country-name { margin-right: 6px; }
.iti__country.iti__highlight { background-color: rgba(235, 113, 0, .12); }
.iti__divider { border-bottom-color: var(--cpd-line); }
.iti__dial-code { color: #8a909c; }

/* foco visível (D-pad TV / teclado) em todo o form */
#sub_form .form-control:focus-visible,
#sub_form select:focus-visible,
#sub_form .btn:focus-visible,
.iti__selected-flag:focus-visible {
  outline: 3px solid var(--cpd);
  outline-offset: 2px;
}

/* ---------- validação em tempo real: verde (válido) / vermelho (inválido) + ícone ✓/✕ ---------- */
#sub_form #email, .iti input#telefone { transition: border-color .15s ease, box-shadow .15s ease; }
#sub_form #email.cp-valid,
.iti input#telefone.cp-valid {
  border-color: #16a34a !important;
  box-shadow: 0 0 0 3px rgba(22,163,74,.18) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 18px 18px !important;
  padding-right: 42px !important;
}
#sub_form #email.cp-invalid,
.iti input#telefone.cp-invalid {
  border-color: #e23b3b !important;
  box-shadow: 0 0 0 3px rgba(226,59,59,.16) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e23b3b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 18px 18px !important;
  padding-right: 42px !important;
}

/* dropdown de sugestão de e-mail (provedores do mercado) — claro + hover laranja */
.cp-email-suggest {
  position: absolute; left: 0; right: 0; top: 100%;
  margin: 6px 0 0; padding: 6px; list-style: none; z-index: 60;
  background: #fff; color: var(--cpd-ink);
  border: 1px solid var(--cpd-line); border-radius: 14px;
  box-shadow: 0 16px 44px rgba(0,0,0,.22);
  max-height: 244px; overflow-y: auto;
}
.cp-es-item {
  padding: 10px 12px; border-radius: 9px; cursor: pointer;
  font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.cp-es-item:hover, .cp-es-active { background: rgba(235,113,0,.12); color: var(--cpd-d); }
#email-div { position: relative; } /* ancora o dropdown de sugestão ao campo */
