:root{--cds-primary:#22c55e;--cds-text:#0b1220}
/* Chat */
.cds-chat-root{position:fixed;bottom:18px;z-index:99999;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.cds-chat-root.right{right:18px}
.cds-chat-root.left{left:18px}
.cds-chat-fab{width:54px;height:54px;border-radius:999px;border:none;background:var(--cds-primary);color:#fff;cursor:pointer;box-shadow:0 10px 25px rgba(0,0,0,.2);font-size:22px}
.cds-chat-panel{position:absolute;bottom:70px;width:320px;max-width:85vw;background:#fff;border-radius:14px;box-shadow:0 12px 35px rgba(0,0,0,.22);overflow:hidden;display:none}
.cds-chat-root.right .cds-chat-panel{right:0}
.cds-chat-root.left .cds-chat-panel{left:0}
.cds-chat-panel.open{display:block}
.cds-chat-header{display:flex;align-items:center;justify-content:space-between;padding:12px 12px;background:var(--cds-primary);color:#fff}
.cds-chat-title{font-weight:600}
.cds-chat-close{border:none;background:transparent;color:#fff;font-size:18px;cursor:pointer}
.cds-chat-messages{padding:12px;height:260px;overflow:auto;background:#f6f7f9}
.cds-msg{padding:10px 10px;border-radius:12px;margin:8px 0;max-width:88%;font-size:13px;line-height:1.35}
.cds-msg.user{background:#fff;margin-left:auto;border:1px solid #e5e7eb}
.cds-msg.bot{background:#eafff1;border:1px solid rgba(34,197,94,.25);color:var(--cds-text)}
.cds-msg.typing{opacity:.7}
.cds-chat-form{display:flex;gap:8px;padding:10px;background:#fff;border-top:1px solid #eef0f3}
.cds-chat-input{flex:1;border:1px solid #d7dbe2;border-radius:10px;padding:10px 10px;font-size:13px}
.cds-chat-send{border:none;background:var(--cds-primary);color:#fff;border-radius:10px;padding:0 12px;cursor:pointer}

/* Modals */
.cds-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:flex-start;justify-content:center;padding:10vh 16px;z-index:99998}
.cds-overlay.open{display:flex}
.cds-modal{background:#fff;border-radius:14px;max-width:440px;width:100%;padding:18px 18px 12px;box-shadow:0 10px 30px rgba(0,0,0,.25);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.cds-modal h3{margin:0 0 12px;font-size:18px}
.cds-form label{display:block;margin:10px 0 6px;font-size:13px}
.cds-form input[type="text"],
.cds-form input[type="email"],
.cds-form input[type="password"],
.cds-form input[type="tel"],
.cds-form input:not([type]){
  width:100%;
  padding:10px 12px;
  border:1px solid #d8d8d8;
  border-radius:10px;
  font-size:14px;
}
.cds-radio{display:flex;flex-direction:column;gap:10px;}
.cds-btn{width:100%;padding:10px 12px;margin-top:10px;border:1px solid #d8d8d8;border-radius:10px;background:#fff;cursor:pointer;font-size:14px}
.cds-btn.cds-primary{border-color:var(--cds-primary);background:var(--cds-primary);color:#fff}
.cds-btn:disabled{opacity:.7;cursor:not-allowed}
.cds-form-msg{margin:10px 0 0;color:#b42318;font-size:13px;min-height:18px}

.cds-radio label{display:flex;align-items:center;gap:10px;width:100%;font-size:14px;}
.cds-radio input[type="radio"]{width:auto;}


/* Plan selection (etapa 2) */
.cds-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:8px 0 12px}
@media(max-width:520px){.cds-plan-grid{grid-template-columns:1fr}}
.cds-plan-card{display:block;border:1px solid rgba(0,0,0,.12);border-radius:14px;padding:12px;cursor:pointer;background:#fff}
.cds-plan-card input{margin-right:10px}
.cds-plan-visual{width:100%;height:110px;border-radius:12px;overflow:hidden;background:#f3f4f6;display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.cds-plan-visual img{width:100%;height:100%;object-fit:cover;display:block}
.cds-plan-img--placeholder{width:100%;height:100%}
.cds-plan-title{font-weight:700;margin-bottom:4px}
.cds-plan-price{opacity:.8;font-size:13px}
.cds-plan-card.selected{outline:2px solid var(--cds-primary);border-color:transparent}

.cds-plan-cta{margin-top:10px;width:100%}


/* Signup Etapa 2: manter tamanho consistente com Etapa 1 */
#cds-modal-signup-step2 .cds-modal{min-height:544px}
#cds-modal-signup-step2 .cds-plan-intro{margin:0 0 12px;font-size:20px;line-height:1.35;color:#374151}
@media (max-width:480px){
  #cds-modal-signup-step1 .cds-modal{min-height:auto}
  #cds-modal-signup-step2 .cds-modal{min-height:auto}
}

/* Signup Etapas: altura consistente */
#cds-modal-signup-step1 .cds-modal{min-height:544px}

/* Ajustes visuais Etapa 2 */
#cds-modal-signup-step2 .cds-modal h3{font-size:28px;line-height:1.15;margin:0 0 10px}
#cds-modal-signup-step2 .cds-plan-intro{font-size:20px;line-height:1.35}
#cds-modal-signup-step2 .cds-modal{min-height:544px}

/* === CDS Button Theme Override (fix hover magenta from theme) === */
:root{
  --cds-btn-bg: #000000;
  --cds-btn-bg-hover: #000000;
}
.cds-chat-root .cds-btn,
.cds-chat-root .cds-chat-send,
.cds-chat-root .cds-chat-fab,
.cds-chat-root .cds-plan-cta{
  background: var(--cds-btn-bg) !important;
  border-color: var(--cds-btn-bg) !important;
  color: #fff !important;
  text-decoration: none !important;
}
.cds-chat-root .cds-btn:hover,
.cds-chat-root .cds-chat-send:hover,
.cds-chat-root .cds-chat-fab:hover,
.cds-chat-root .cds-plan-cta:hover,
.cds-chat-root .cds-btn:focus,
.cds-chat-root .cds-chat-send:focus,
.cds-chat-root .cds-chat-fab:focus,
.cds-chat-root .cds-plan-cta:focus{
  background: var(--cds-btn-bg-hover) !important;
  border-color: var(--cds-btn-bg-hover) !important;
  color:#fff !important;
}
.cds-chat-root .cds-btn:active,
.cds-chat-root .cds-chat-send:active,
.cds-chat-root .cds-chat-fab:active,
.cds-chat-root .cds-plan-cta:active{
  background: var(--cds-btn-bg-hover) !important;
  border-color: var(--cds-btn-bg-hover) !important;
}
/* Links inside CDS UI (avoid theme hover magenta) */
.cds-chat-root a{ color: var(--cds-btn-bg) !important; }
.cds-chat-root a:hover{ color: var(--cds-btn-bg-hover) !important; }

/* === Clube da Sorte UI tweaks (v2.5.8 patch) === */
/* 1) Override theme magenta hovers inside MODALS too */
.cds-overlay .cds-btn,
.cds-overlay .cds-btn.cds-primary,
.cds-overlay .cds-plan-cta,
.cds-overlay a.cds-btn,
.cds-overlay a.cds-btn.cds-primary,
.cds-overlay button.cds-btn{
  background: var(--cds-btn-bg) !important;
  border-color: var(--cds-btn-bg) !important;
  color:#fff !important;
  text-decoration:none !important;
  box-shadow:none !important;
}
.cds-overlay .cds-btn:hover,
.cds-overlay .cds-btn.cds-primary:hover,
.cds-overlay .cds-plan-cta:hover,
.cds-overlay a.cds-btn:hover,
.cds-overlay a.cds-btn.cds-primary:hover,
.cds-overlay button.cds-btn:hover,
.cds-overlay .cds-btn:focus,
.cds-overlay .cds-btn.cds-primary:focus,
.cds-overlay .cds-plan-cta:focus,
.cds-overlay a.cds-btn:focus,
.cds-overlay a.cds-btn.cds-primary:focus,
.cds-overlay button.cds-btn:focus,
.cds-overlay .cds-btn:active,
.cds-overlay .cds-btn.cds-primary:active,
.cds-overlay .cds-plan-cta:active,
.cds-overlay a.cds-btn:active,
.cds-overlay a.cds-btn.cds-primary:active,
.cds-overlay button.cds-btn:active{
  background: var(--cds-btn-bg-hover) !important;
  border-color: var(--cds-btn-bg-hover) !important;
  color:#fff !important;
}
/* Links inside modal (avoid theme hover magenta) */
.cds-overlay a{ color: var(--cds-btn-bg) !important; }
.cds-overlay a:hover{ color: var(--cds-btn-bg-hover) !important; }

/* 2) Signup step 1: title style + center */
#cds-modal-signup-step1 .cds-modal h3{
  font-size:28px;
  line-height:1.15;
  margin:0 0 16px;
  text-align:center;
}

/* 3) Password + confirm side-by-side */
.cds-grid-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
@media(max-width:520px){
  .cds-grid-2{ grid-template-columns:1fr; }
}
.cds-grid-2 .cds-field label{ margin-top:0; }

/* 3b) Layout homogêneo das etapas (corpo + ações) */
#cds-modal-signup-step1 .cds-modal,
#cds-modal-signup-step2 .cds-modal{
  display:flex;
  flex-direction:column;
}

#cds-modal-signup-step1 .cds-form,
#cds-modal-signup-step2 .cds-form{
  display:flex;
  flex-direction:column;
  flex:1;
}

#cds-modal-signup-step1 .cds-step-body,
#cds-modal-signup-step2 .cds-step-body{
  display:flex;
  flex-direction:column;
  gap:12px;
  flex:1;
}

#cds-modal-signup-step2 .cds-step-body{
  gap:18px;
}

#cds-modal-signup-step1 .cds-step-actions,
#cds-modal-signup-step2 .cds-step-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:auto;
}

/* Remover margens verticais "quebradas" e deixar consistente */
.cds-step-body .cds-field{display:flex;flex-direction:column;}
.cds-step-body .cds-field label{margin:0 0 6px !important;}
.cds-step-body .cds-field input{margin:0;}

/* Etapa 2: o gap cuida do espaçamento */
#cds-modal-signup-step2 .cds-plan-intro{margin:0 !important;}
#cds-modal-signup-step2 .cds-plan-grid{margin:0 !important;}

/* Nota Mercado Pago (Etapa 2) */
#cds-modal-signup-step2 .cds-plan-note{margin:0;text-align:center;font-size:13px;line-height:1.45;color:#4b5563}

/* 4) Signup step 2: center title + better spacing */
#cds-modal-signup-step2 .cds-modal h3{
  text-align:center;
  margin:0 0 22px;
}
#cds-modal-signup-step2 .cds-plan-intro{
  text-align:center;
  margin:0 0 22px;
}

/* 5) Remove 'Voltar' button (keep hidden cancel for overlay close) */
#cds-modal-signup-step2 [data-cancel]{
  display:none !important;
}

/* Modal messages: force all action buttons to black with white text */
.cds-overlay [data-existing-cancel],
.cds-overlay [data-existing-primary],
.cds-overlay [data-cancel],
.cds-overlay [data-submit]{
  background:#000 !important;
  border-color:#000 !important;
  color:#fff !important;
}
.cds-overlay [data-existing-cancel]:hover,
.cds-overlay [data-existing-primary]:hover,
.cds-overlay [data-cancel]:hover,
.cds-overlay [data-submit]:hover,
.cds-overlay [data-existing-cancel]:focus,
.cds-overlay [data-existing-primary]:focus,
.cds-overlay [data-cancel]:focus,
.cds-overlay [data-submit]:focus{
  background:#000 !important;
  border-color:#000 !important;
  color:#fff !important;
}
