/* ============================================================
   DIAGNÓSTICO MATERNIDADE PRO — style.css v4.1
   Design system Dark Premium / Rose Gold — prefixo dmp-
   v4.1: centralização do container + melhorias visuais no
         card de captura (glow, highlight de valor, DDI unificado)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700;900&family=Inter:wght@400;500;600&display=swap');

#dmp-root {
  --bg:         #110e13;
  --bg-card:    #110e13;
  --bg-dark:    #0c0a0e;
  --txt:        #ffffff;
  --txt-mid:    #d0c8cc;
  --txt-sec:    #a0a0a5;
  --rg:         #E0A9A5;
  --rg-dark:    #c98c88;
  --grad:       linear-gradient(135deg, #E0A9A5, #c98c88);
  --green:      #25d366;
  --brd:        rgba(224, 169, 165, 0.15);
  --brd-h:      rgba(224, 169, 165, 0.3);
  --r-lg:       20px;
  --r-md:       12px;
  --r-pill:     999px;

  /* ── CENTRALIZAÇÃO ── */
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;

  font-family: 'Inter', sans-serif;
  background: var(--bg);
  color: var(--txt);
  overflow-x: hidden;
  position: relative;
  border-radius: 24px;
}

.dmp-fade { opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .7s ease; }
.dmp-fade.dmp-visible { opacity:1; transform:translateY(0); }

/* ── QUIZ SECTION ── */
#dmp-quiz-section { background:transparent; padding-bottom:2rem; position:relative; overflow:hidden; }
#dmp-quiz-section::before {
  content:''; position:absolute; top:-180px; right:-180px;
  width:480px; height:480px; border-radius:50%;
  background:radial-gradient(circle,rgba(224,169,165,.06) 0%,transparent 70%);
  pointer-events:none;
}

/* ── HEADER ── */
.dmp-header { text-align:center; padding:3.5rem 2rem 2rem; position:relative; z-index:1; }
.dmp-badge {
  font-size:.75rem; text-transform:uppercase; letter-spacing:2px;
  color:var(--rg); font-weight:600; display:block; margin-bottom:.875rem;
}
.dmp-title {
  font-family:'Playfair Display',serif !important;
  font-size:clamp(1.8rem,5vw,3rem) !important;
  font-weight:600 !important; line-height:1.12 !important;
  color:var(--txt) !important;
  margin:0 0 .875rem !important; padding:0 !important; border:none !important;
}
.dmp-title span,
.dmp-popup-title span {
  background:var(--grad); -webkit-background-clip:text;
  -webkit-text-fill-color:transparent; background-clip:text;
}
.dmp-subtitle { font-size:.95rem; color:var(--txt-sec); line-height:1.65; max-width:500px; margin:0 auto; }

/* Trust pills no header */
.dmp-header-trust { display:flex; justify-content:center; gap:.5rem; flex-wrap:wrap; margin-top:1.25rem; }
.dmp-trust-pill {
  font-size:.7rem; font-weight:600; color:var(--txt-sec);
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08);
  padding:.3rem .875rem; border-radius:var(--r-pill);
}

/* ── PROGRESSO ── */
.dmp-quiz-wrap { max-width:100%; margin:0 auto; padding:0 1.75rem 3.5rem; position:relative; z-index:1; }
.dmp-progress-container { margin-bottom:1.75rem; }
.dmp-progress-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:.5rem; }
.dmp-progress-label { font-size:.75rem; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--rg); }
.dmp-progress-count { font-size:.78rem; font-weight:600; color:var(--rg); }
.dmp-progress-bar { height:3px; background:rgba(255,255,255,.07); border-radius:var(--r-pill); overflow:hidden; }
.dmp-progress-fill { height:100%; background:var(--grad); border-radius:var(--r-pill); transition:width .5s cubic-bezier(.4,0,.2,1); }

/* ── CARD DE PERGUNTA ── */
.dmp-question-card {
  background:var(--bg-card); border:1px solid var(--brd);
  border-radius:var(--r-lg); padding:2.25rem 2rem;
  box-shadow:0 8px 32px rgba(0,0,0,.5);
  animation:dmpSlideIn .4s cubic-bezier(.4,0,.2,1);
  transition:border-color .3s;
}
.dmp-question-card:hover { border-color:rgba(224,169,165,.25); }
@keyframes dmpSlideIn {
  from{opacity:0;transform:translateY(18px) scale(.98)}
  to  {opacity:1;transform:translateY(0)    scale(1)}
}
.dmp-q-icon { font-size:2.25rem; margin-bottom:.875rem; display:block; animation:dmpBounce .5s ease .1s both; }
@keyframes dmpBounce {
  from{transform:scale(.5);opacity:0} 60%{transform:scale(1.12)} to{transform:scale(1);opacity:1}
}
.dmp-q-num  { font-size:.75rem; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--rg); margin-bottom:.375rem; }
.dmp-q-text {
  font-family:'Playfair Display',serif !important;
  font-size:clamp(1.05rem,2.5vw,1.4rem) !important;
  font-weight:600 !important; line-height:1.3 !important;
  color:var(--txt) !important;
  margin:0 0 .375rem !important; padding:0 !important; border:none !important;
}
.dmp-q-hint { font-size:.8rem; color:var(--txt-sec); margin-bottom:1.5rem; line-height:1.55; }

/* ── OPÇÕES (Glassmorphism) ── */
.dmp-options { display:flex; flex-direction:column; gap:.625rem; }
.dmp-option {
  display:flex !important; align-items:center; gap:.875rem;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:var(--r-md); padding:.875rem 1rem;
  cursor:pointer;
  transition:border-color .18s,background .18s,transform .18s,box-shadow .18s;
  text-decoration:none !important; color:var(--txt) !important;
}
.dmp-option:hover {
  border-color:rgba(224,169,165,.3) !important;
  background:rgba(224,169,165,.05) !important;
  transform:translateY(-2px);
}

/* Radio oculto — o card inteiro é a área de clique */
.dmp-opt-radio { display:none !important; }

.dmp-opt-emoji { font-size:1.2rem; flex-shrink:0; }
.dmp-opt-body  { flex:1; }
.dmp-opt-text  { font-size:.9rem; font-weight:600; color:var(--txt); }
.dmp-opt-sub   { font-size:.75rem; color:var(--txt-sec); margin-top:.125rem; }

/* ── TEXTAREA ── */
.dmp-text-input {
  width:100% !important; padding:.875rem 0 !important;
  background:transparent !important;
  border:none !important;
  border-bottom:1px solid rgba(255,255,255,.2) !important;
  border-radius:0 !important;
  font-family:'Inter',sans-serif !important;
  font-size:.9rem !important; color:var(--txt) !important;
  outline:none !important; transition:border-color .2s !important;
  margin-bottom:.875rem !important; box-shadow:none !important; resize:vertical;
}
.dmp-text-input:focus { border-bottom-color:var(--rg) !important; background:transparent !important; }
.dmp-text-input::placeholder { color:var(--txt-sec); }

/* ── BOTÃO AVANÇAR ── */
.dmp-btn-next {
  width:100% !important; padding:18px 36px !important; margin-top:1rem !important;
  background:var(--grad) !important; color:#1a1518 !important;
  border:none !important; border-radius:50px !important;
  font-family:'Inter',sans-serif !important;
  font-size:.9rem !important; font-weight:600 !important;
  text-transform:uppercase !important;
  cursor:pointer !important; letter-spacing:.08em !important;
  transition:transform .2s,box-shadow .2s !important;
  display:flex !important; align-items:center; justify-content:center; gap:.375rem;
}
.dmp-btn-next:hover:not(:disabled) {
  transform:translateY(-2px) !important;
  box-shadow:0 10px 25px rgba(224,169,165,.4) !important;
}
.dmp-btn-next:disabled {
  background:#2a282f !important;
  color:#555 !important;
  cursor:not-allowed !important;
  box-shadow:none !important;
}

/* ══════════════════════════════════════════════════════
   CARD DE CAPTURA — com glow Rose Gold especial
══════════════════════════════════════════════════════ */
.dmp-capture-card {
  background:var(--bg-card);
  border:1px solid rgba(224,169,165,.25);
  border-radius:var(--r-lg); padding:2.25rem 2rem;
  /* Glow Rose Gold — destaca o momento de conversão */
  box-shadow:
    0 0 0 1px rgba(224,169,165,.08),
    0 0 30px rgba(224,169,165,.12),
    0 16px 48px rgba(0,0,0,.5);
  animation:dmpSlideIn .4s cubic-bezier(.4,0,.2,1);
}

/* ── Bloco de destaque do valor ── */
.dmp-capture-highlight {
  background:rgba(224,169,165,.08);
  border:1px solid rgba(224,169,165,.2);
  border-radius:var(--r-md);
  padding:1rem 1.25rem;
  text-align:center;
  margin-bottom:1rem;
}
.dmp-capture-highlight-label {
  font-family:'Inter',sans-serif;
  font-size:.8rem;
  font-weight:500;
  color:var(--txt-sec);
  margin-bottom:.375rem;
}
.dmp-capture-highlight-value {
  font-family:'Playfair Display',serif;
  font-size:1.75rem;
  font-weight:600;
  background:var(--grad);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  line-height:1.1;
}

/* Título do card de captura — usa Inter (não Playfair) */
.dmp-capture-card .dmp-q-text {
  font-family:'Inter',sans-serif !important;
  font-size:clamp(.9rem,2vw,1.05rem) !important;
  font-weight:500 !important;
  line-height:1.5 !important;
  color:var(--txt-sec) !important;
  text-align:center;
}

/* Campos do formulário de captura */
.dmp-form-row { display:flex; gap:1.5rem; }
.dmp-form-row .dmp-form-group { flex:1; }
.dmp-form-group { margin-bottom:1.25rem; }
.dmp-form-group label {
  display:block; font-size:.75rem; font-weight:600;
  letter-spacing:2px; text-transform:uppercase;
  color:var(--rg); margin-bottom:.5rem;
}
.dmp-form-group input {
  width:100% !important; padding:.875rem 0 !important;
  background:transparent !important;
  border:none !important;
  border-bottom:1px solid rgba(255,255,255,.2) !important;
  border-radius:0 !important;
  font-family:'Inter',sans-serif !important;
  font-size:.95rem !important; color:var(--txt) !important;
  transition:border-color .2s !important;
  outline:none !important; box-shadow:none !important; box-sizing:border-box !important;
}
.dmp-form-group input:focus {
  border-bottom-color:var(--rg) !important;
}
.dmp-form-group input.dmp-invalid { border-bottom-color:#e05555 !important; }
.dmp-form-group input::placeholder { color:var(--txt-sec); }

/* ── DDI unificado — mesma linha de fundo do input ── */
.dmp-phone-wrap { display:flex; align-items:flex-end; gap:0; }
.dmp-ddi {
  background:transparent;
  border:none;
  border-bottom:1px solid rgba(255,255,255,.2);
  padding:.875rem .625rem .875rem 0;
  font-size:.9rem;
  font-weight:500;
  white-space:nowrap;
  color:var(--rg);
  flex-shrink:0;
  line-height:1;
}
.dmp-phone-wrap input { flex:1; }
.dmp-err { display:block; font-size:.75rem; color:#e05555; margin-top:.25rem; min-height:.875rem; }

.dmp-capture-promise {
  display:flex; align-items:flex-start; gap:.625rem;
  font-size:.78rem; color:var(--txt-sec);
  background:rgba(224,169,165,.04); border:1px solid var(--brd);
  border-radius:var(--r-md); padding:.75rem 1rem;
  margin-bottom:1.25rem; line-height:1.55;
}

/* Botão de captura com animação pulse */
.dmp-btn-capture {
  width:100% !important; padding:18px 36px !important;
  background:var(--grad) !important; color:#1a1518 !important;
  border:none !important; border-radius:50px !important;
  font-family:'Inter',sans-serif !important;
  font-size:.95rem !important; font-weight:600 !important;
  text-transform:uppercase !important;
  cursor:pointer !important; letter-spacing:.08em !important;
  transition:transform .2s,box-shadow .2s !important;
  display:flex !important; align-items:center; justify-content:center; gap:.5rem;
  animation:dmpPulse 2.5s ease-in-out infinite !important;
}
@keyframes dmpPulse {
  0%,100%{box-shadow:0 0 0   0   rgba(224,169,165,.4)}
  50%    {box-shadow:0 0 0 12px rgba(224,169,165,0)}
}
.dmp-btn-capture:hover:not(:disabled) {
  transform:translateY(-2px) !important;
  box-shadow:0 10px 25px rgba(224,169,165,.4) !important;
  animation:none !important;
}
.dmp-btn-capture:disabled {
  background:#2a282f !important;
  color:#555 !important;
  cursor:not-allowed !important;
  animation:none !important;
  box-shadow:none !important;
}

/* ── RESULTADO ── */
.dmp-result-card {
  background:var(--bg-card); border:1px solid var(--brd);
  border-radius:var(--r-lg); padding:2.5rem 2rem;
  box-shadow:0 8px 40px rgba(0,0,0,.5); text-align:center;
  animation:dmpSlideIn .5s cubic-bezier(.4,0,.2,1);
  transition:border-color .3s,box-shadow .3s,transform .3s;
}
.dmp-result-card:hover {
  border-color:rgba(224,169,165,.3);
  box-shadow:0 20px 40px rgba(224,169,165,.15);
  transform:translateY(-4px);
}
.dmp-res-icon-wrap {
  width:5.5rem; height:5.5rem; border-radius:50%;
  margin:0 auto 1.25rem;
  display:flex; align-items:center; justify-content:center;
  font-size:2.5rem; border:1px solid var(--brd);
  animation:dmpPopIn .6s cubic-bezier(.175,.885,.32,1.275) .1s both;
}
@keyframes dmpPopIn {
  from{transform:scale(0);opacity:0} to{transform:scale(1);opacity:1}
}
.dmp-res-icon-wrap.positivo { background:rgba(29,191,115,.1); border-color:rgba(29,191,115,.25); }
.dmp-res-icon-wrap.possivel { background:rgba(224,169,165,.1); border-color:var(--brd); }
.dmp-res-icon-wrap.negativo { background:rgba(224,85,85,.08);  border-color:rgba(224,85,85,.2); }

.dmp-res-status { font-size:.75rem; font-weight:600; letter-spacing:2px; text-transform:uppercase; margin-bottom:.5rem; }
.dmp-res-status.positivo { color:#4ade80; }
.dmp-res-status.possivel { color:var(--rg); }
.dmp-res-status.negativo { color:#f87171; }

.dmp-res-title {
  font-family:'Playfair Display',serif !important;
  font-size:clamp(1.2rem,3vw,1.65rem) !important;
  font-weight:600 !important; color:var(--txt) !important;
  margin:0 0 .75rem !important; line-height:1.2 !important;
  padding:0 !important; border:none !important;
}
.dmp-res-desc { font-size:.9rem; color:var(--txt-sec); line-height:1.7; margin-bottom:1.5rem; }
.dmp-res-desc strong { color:var(--txt-mid); }

/* botão WhatsApp */
.dmp-btn-wpp {
  display:flex !important; align-items:center; justify-content:center; gap:.625rem;
  width:100% !important; padding:1rem 2rem !important;
  background:var(--green) !important; color:#fff !important;
  border:none !important; border-radius:50px !important;
  font-family:'Inter',sans-serif !important;
  font-size:.95rem !important; font-weight:700 !important;
  cursor:pointer !important; text-decoration:none !important;
  box-shadow:0 8px 26px rgba(37,211,102,.3) !important;
  transition:transform .2s,box-shadow .2s !important;
  margin-bottom:.75rem !important; letter-spacing:.02em !important;
}
.dmp-btn-wpp:hover { transform:translateY(-2px) !important; box-shadow:0 14px 36px rgba(37,211,102,.45) !important; color:#fff !important; }
.dmp-btn-wpp svg { width:1.375rem; height:1.375rem; flex-shrink:0; }

/* botão secundário */
.dmp-btn-restart {
  background:transparent !important; color:var(--txt) !important;
  border:1px solid rgba(255,255,255,.2) !important;
  border-radius:50px !important; padding:.85rem 2rem !important;
  width:100% !important; font-family:'Inter',sans-serif !important;
  font-size:.85rem !important; font-weight:600 !important;
  cursor:pointer !important; transition:background .2s,border-color .2s !important;
  box-shadow:none !important;
}
.dmp-btn-restart:hover { background:rgba(255,255,255,.06) !important; border-color:rgba(255,255,255,.4) !important; }

.dmp-privacy-note {
  font-size:.72rem; color:var(--txt-sec); margin-top:1rem;
  text-align:center; display:flex; align-items:center; justify-content:center; gap:.25rem;
}
.dmp-footer { text-align:center; padding:1.5rem; font-size:.72rem; color:var(--txt-sec); line-height:1.65; }

/* ── MOBILE ── */
@media(max-width:600px){
  #dmp-root { border-radius:0; }
  .dmp-header       { padding:2.5rem 1.25rem 1.5rem; }
  .dmp-title        { font-size:clamp(1.8rem,5vw,2.5rem) !important; }
  .dmp-quiz-wrap    { padding:0 1.25rem 3rem; }
  .dmp-question-card,
  .dmp-capture-card,
  .dmp-result-card  { padding:1.5rem 1.125rem; }
  .dmp-form-row     { flex-direction:column; gap:0; }
  .dmp-btn-next,
  .dmp-btn-capture,
  .dmp-btn-wpp,
  .dmp-btn-restart  { width:100% !important; }
}