/* ============================================================
   LandingNow - Alinhamentos solicitados por Welber 25/05/2026
   Centraliza section-headers, justifica paragrafos.
   ============================================================ */

/* Hero lead justificado */
.hero p.lead { text-align: justify; }

/* Hero checks centralizados */
.hero-checks { justify-content: center; }

/* Section headers centralizados (cases, roi, pricing) */
.section-header.section-header-centered {
  text-align: center;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
.section-header.section-header-centered .section-label {
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
}
.section-header.section-header-centered h2 {
  margin-left: auto;
  margin-right: auto;
}
.section-header.section-header-centered p {
  margin-left: auto;
  margin-right: auto;
  text-align: justify;
  max-width: 720px;
}

/* ROI narrative justificado e disclaimer centralizado */
.roi-narrative p { text-align: justify; }
.roi-disclaimer { text-align: center; }

/* Price cards: centraliza nome, titulo, descricao, valor */
.price-card { text-align: center; align-items: center; }
.price-card .price-card-name,
.price-card .price-card-title,
.price-card .price-card-desc,
.price-card .price-amount,
.price-card .price-meta { text-align: center; width: 100%; }
.price-card .price-features { width: 100%; text-align: left; }
.price-card .price-features .price-feature { text-align: left; }

/* Seasonal addon: chips centralizados */
.seasonal-addon-occasions { justify-content: center; }
.seasonal-addon-tag { margin-left: auto; margin-right: auto; }

/* Custom section: titulo centraliza, paragrafo justifica */
.custom-card { text-align: center; }
.custom-content { text-align: center; }
.custom-content .label {
  display: inline-flex;
  margin-left: auto;
  margin-right: auto;
}
.custom-content h3 { text-align: center; }
.custom-content p {
  text-align: justify;
  margin-left: auto;
  margin-right: auto;
}

/* Founder: titulo centraliza, paragrafos justificam, stats centralizam */
.founder-content { text-align: center; }
.founder-content .label {
  display: inline-flex;
  margin-left: auto;
  margin-right: auto;
}
.founder-content h2 {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.founder-content p {
  text-align: justify;
  margin-left: auto;
  margin-right: auto;
}
.founder-stats { text-align: center; }
.founder-stats > div { text-align: center; }

/* How section: titulo centraliza, paragrafos justificam */
.how-section .section-label {
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
}
.how-section h2 {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.step p { text-align: justify; }

/* FAQ: respostas justificadas e com mais espaco */
.faq-answer { text-align: justify; }
.faq-item.open .faq-answer { max-height: 1000px; padding-top: 4px; }

/* Footer: brand centraliza, social centraliza */
.footer-brand { text-align: center; }
.footer-brand .logo-wordmark {
  justify-content: center;
  display: inline-flex;
  margin-left: auto;
  margin-right: auto;
}
.footer-brand p {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.footer-social {
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
}

/* Mobile: garante alinhamentos */
@media (max-width: 768px) {
  .hero p.lead { text-align: justify !important; }
  .section-header.section-header-centered p { text-align: justify !important; }
  .roi-narrative p { text-align: justify !important; }
  .step p { text-align: justify !important; }
  .faq-answer { text-align: justify !important; }
  .custom-content p { text-align: justify !important; }
  .founder-content p { text-align: justify !important; }
}


/* ============================================================
   v2 (Welber) - Secao de DOR moderna + brilho continuo nos cards
   ============================================================ */

/* ----- Secao de DOR v2: estagio com celular central + barra de virada ----- */
.pain-section{padding:56px 0 24px}
.pain-stage{position:relative;display:grid;grid-template-columns:1fr minmax(290px,320px) 1fr;gap:30px;align-items:center;margin-top:50px}
.pain-col{display:flex;flex-direction:column;gap:24px;position:relative;z-index:2}

.pain-links{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible}
.pain-links path{fill:none;stroke:rgba(200,255,61,.45);stroke-width:1.5;filter:drop-shadow(0 0 4px rgba(200,255,61,.5))}
.pain-links .pl-dot{fill:var(--neon);filter:drop-shadow(0 0 6px rgba(200,255,61,.85))}

.pain-card{position:relative;overflow:hidden;background:linear-gradient(160deg, rgba(26,26,26,.92), rgba(14,14,14,.92));border:1px solid var(--line);border-radius:20px;padding:24px 24px 22px;transition:transform .35s cubic-bezier(.4,0,.2,1),border-color .35s,box-shadow .35s}
.pain-card::before{content:"";position:absolute;top:-40%;right:-30%;width:200px;height:200px;background:radial-gradient(circle, var(--neon-soft) 0%, transparent 70%);opacity:.5;pointer-events:none;transition:opacity .35s}
.pain-num{position:absolute;top:14px;right:20px;font-weight:800;font-size:52px;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(200,255,61,.15);letter-spacing:-0.04em;pointer-events:none;-webkit-user-select:none;user-select:none}
.pain-head{display:flex;align-items:center;gap:14px;margin-bottom:14px;padding-right:46px}
.pain-icon{flex:0 0 auto;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;background:linear-gradient(135deg, rgba(200,255,61,.16), rgba(200,255,61,.04));border:1.5px solid rgba(200,255,61,.3);box-shadow:0 0 20px rgba(200,255,61,.14)}
.pain-card h3{font-size:19px;font-weight:700;color:var(--ink);line-height:1.2;letter-spacing:-0.01em}
.pain-card p{font-size:14px;color:var(--muted);line-height:1.55;margin-bottom:16px;text-align:left}
.pain-result{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:100px;background:rgba(255,77,109,.10);border:1px solid rgba(255,77,109,.32);font-size:12.5px;font-weight:600;color:#FF7088;line-height:1.3}
.pain-result svg{width:15px;height:15px;flex:0 0 auto;stroke:#FF4D6D}
.pain-card:hover{transform:translateY(-4px);border-color:rgba(200,255,61,.35);box-shadow:0 20px 50px rgba(0,0,0,.45)}
.pain-card:hover::before{opacity:.85}

.pain-phone{display:flex;justify-content:center;position:relative;z-index:3}
.phone-frame{position:relative;width:300px;max-width:100%;background:#0c0c0c;border:2px solid #2b2b2b;border-radius:42px;padding:9px;box-shadow:0 0 0 1px rgba(200,255,61,.08), 0 30px 80px rgba(0,0,0,.65), 0 0 70px rgba(200,255,61,.12)}
.phone-notch{position:absolute;top:16px;left:50%;transform:translateX(-50%);width:84px;height:6px;border-radius:100px;background:#1c1c1c;z-index:4}
.phone-screen{position:relative;background:linear-gradient(180deg,#0a0a0a,#101010);border-radius:34px;overflow:hidden;padding:30px 20px 0}
.ps-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
.ps-brand{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--ink)}
.ps-dot{width:9px;height:9px;border-radius:50%;background:var(--neon);box-shadow:0 0 8px var(--neon);flex:0 0 auto}
.ps-menu{display:inline-flex;flex-direction:column;gap:3px}
.ps-menu i{width:18px;height:2px;border-radius:2px;background:var(--ink-soft);display:block}
.ps-title{font-size:21px;font-weight:800;line-height:1.2;letter-spacing:-0.02em;color:var(--ink);margin-bottom:10px}
.ps-title span{color:var(--neon)}
.ps-sub{font-size:12.5px;color:var(--ink-soft);line-height:1.5;margin-bottom:16px}
.ps-cta{background:var(--neon);color:#0a0a0a;font-size:12.5px;font-weight:700;text-align:center;padding:12px 14px;border-radius:10px;margin-bottom:14px}
.ps-social{display:flex;align-items:center;gap:9px;margin-bottom:22px}
.ps-avatars{display:inline-flex}
.ps-avatars i{width:22px;height:22px;border-radius:50%;border:2px solid #0d0d0d;margin-left:-7px;display:block}
.ps-avatars i:first-child{margin-left:0}
.ps-avatars i:nth-child(1){background:linear-gradient(135deg,#FF8C8C,#E23A1E)}
.ps-avatars i:nth-child(2){background:linear-gradient(135deg,#8CD3FF,#1D9BF0)}
.ps-avatars i:nth-child(3){background:linear-gradient(135deg,#C8FF3D,#7AB800)}
.ps-avatars i:nth-child(4){background:linear-gradient(135deg,#E0A3FF,#9B59B6)}
.ps-social-text{font-size:11.5px;color:var(--ink-soft);font-weight:500}
.ps-results{background:rgba(200,255,61,.05);border-top:1px solid rgba(200,255,61,.12);margin:0 -20px;padding:16px 18px 20px}
.ps-results-title{text-align:center;font-size:12px;font-weight:700;color:var(--neon);margin-bottom:12px;letter-spacing:0.02em}
.ps-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;text-align:center}
.ps-metrics strong{display:block;font-size:18px;font-weight:800;color:var(--neon);line-height:1}
.ps-metrics span{display:block;font-size:9.5px;color:var(--ink-soft);margin-top:4px;line-height:1.25}

.pain-bridge{margin-top:38px;display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center;padding:26px 34px;border-radius:24px;background:linear-gradient(135deg, rgba(200,255,61,.08), rgba(200,255,61,.02));border:1px solid rgba(200,255,61,.25);box-shadow:0 0 40px rgba(200,255,61,.05)}
.pain-bridge-icon{flex:0 0 auto;width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:rgba(200,255,61,.12);border:1px solid rgba(200,255,61,.3)}
.pain-bridge-icon svg{width:26px;height:26px;stroke:var(--neon)}
.pain-bridge-title{font-size:22px;font-weight:800;line-height:1.25;letter-spacing:-0.01em;color:var(--ink)}
.pain-bridge-title em{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;color:var(--neon)}
.pain-bridge-cta{display:flex;flex-direction:column;align-items:flex-start;gap:12px;max-width:340px;border-left:1px solid rgba(200,255,61,.18);padding-left:30px}
.pain-bridge-cta p{font-size:14px;color:var(--ink-soft);line-height:1.5;text-align:left}
.pain-bridge-cta .btn-neon{white-space:nowrap}

@media (max-width:980px){
  /* no celular: esconde o telefone e as linhas; cards empilhados (estilo imagem 5) */
  .pain-links{display:none}
  .pain-phone{display:none}
  .pain-stage{display:flex;flex-direction:column;gap:16px;margin-top:36px;max-width:480px;margin-left:auto;margin-right:auto}
  .pain-col{gap:16px}
  .pain-col-left{order:1}
  .pain-col-right{order:2}

  /* numero grande marca-d-agua a direita */
  .pain-card{padding-right:82px}
  .pain-head{padding-right:0}
  .pain-num{font-size:74px;top:50%;transform:translateY(-50%);right:8px;color:rgba(200,255,61,.12);-webkit-text-stroke:0}

  /* energia: anel verde girando em cada icone + pulso em sequencia (de cima pra baixo, em loop) */
  .pain-icon{overflow:visible;animation:painPulse 3s ease-in-out infinite}
  .pain-icon::after{
    content:"";position:absolute;inset:-6px;border-radius:50%;padding:2px;
    background:conic-gradient(from var(--pe-angle,0deg),
      rgba(200,255,61,0) 0deg, rgba(200,255,61,0) 195deg,
      rgba(157,221,0,.7) 290deg, rgba(200,255,61,1) 338deg,
      rgba(200,255,61,0) 360deg);
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;mask-composite:exclude;
    pointer-events:none;animation:painRingSpin 2.4s linear infinite;
  }
  .pain-col-left .pain-card:nth-of-type(2) .pain-icon{animation-delay:1s}
  .pain-col-left .pain-card:nth-of-type(2) .pain-icon::after{animation-delay:.5s}
  .pain-col-right .pain-card .pain-icon{animation-delay:2s}
  .pain-col-right .pain-card .pain-icon::after{animation-delay:1s}

  .pain-bridge{grid-template-columns:1fr;gap:18px;text-align:center;padding:26px 22px;margin-top:28px}
  .pain-bridge-icon{margin-left:auto;margin-right:auto}
  .pain-bridge-title{font-size:20px}
  .pain-bridge-cta{max-width:none;border-left:none;border-top:1px solid rgba(200,255,61,.18);padding-left:0;padding-top:18px;align-items:center}
  .pain-bridge-cta p{text-align:center}
}
@media (max-width:480px){
  .pain-card{padding-right:72px}
  .pain-num{font-size:62px}
}

/* energia dos icones (mobile): keyframes + custom property */
@property --pe-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes painRingSpin{to{--pe-angle:360deg}}
@keyframes painPulse{0%,100%{box-shadow:0 0 20px rgba(200,255,61,.14)}50%{box-shadow:0 0 30px rgba(200,255,61,.55), 0 0 55px rgba(200,255,61,.22)}}
@media (prefers-reduced-motion:reduce){.pain-icon,.pain-icon::after{animation:none}}

/* ----- Brilho continuo girando na borda dos cards do portfolio ----- */
@property --cn-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.case-card::after{
  content:"";
  --cn-angle:0deg;
  position:absolute;
  inset:0;
  border-radius:20px;
  padding:1.6px;
  background:conic-gradient(from var(--cn-angle),
    rgba(200,255,61,0) 0deg,
    rgba(200,255,61,0) 150deg,
    rgba(157,221,0,.65) 250deg,
    rgba(200,255,61,1) 300deg,
    rgba(200,255,61,0) 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
          mask-composite:exclude;
  pointer-events:none;
  z-index:3;
  opacity:.7;
  animation:caseGlowSpin 6s linear infinite;
}
@keyframes caseGlowSpin{to{--cn-angle:360deg}}
.case-card:hover::after{opacity:1}
@media (prefers-reduced-motion:reduce){.case-card::after{animation:none}}


/* ----- FAQ: mais respiro entre perguntas e dentro das respostas ----- */
.faq-item{padding:30px 0!important}
.faq-item.open .faq-answer{margin-top:16px!important;padding-top:12px!important;padding-bottom:20px!important;max-height:1200px!important}
.faq-wrapper{margin-top:56px!important;padding-bottom:10px}


/* ----- FAQ nos temas sazonais: respiro lateral (no tema o item ganha um card/halo e o texto nao pode colar nas bordas) ----- */
body[class*="theme-"] .faq-item{padding-left:26px!important;padding-right:26px!important}
@media (max-width:768px){body[class*="theme-"] .faq-item{padding-left:18px!important;padding-right:18px!important}}


/* ============================================================
   v3 (Welber 31/05) - resultados centralizados, planos centralizados,
   faixa mobile mais rapida, tag namorados centralizada
   ============================================================ */
.pain-result{display:flex;width:-moz-fit-content;width:fit-content;margin-left:auto;margin-right:auto}

.price-card{align-items:center!important}
.price-card .price-card-name,
.price-card .price-card-title,
.price-card .price-card-desc,
.price-card .price-amount,
.price-card .price-meta{text-align:center!important;margin-left:auto!important;margin-right:auto!important}

@media (max-width:768px){.marquee{animation-duration:7s!important}}

body.theme-namorados .hero-tag{display:flex!important;width:-moz-fit-content!important;width:fit-content!important;margin-left:auto!important;margin-right:auto!important;justify-content:center!important;text-align:center!important}
@media (max-width:768px){body.theme-namorados .hero h1{text-align:center!important}}


/* ============================================================
   v4 (Welber 31/05) - selos do hero ocultos no desktop + prova social
   ============================================================ */
@media (min-width:981px){.hero-checks{display:none!important}}

.social-proof{padding:46px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.social-proof .proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:900px;margin:0 auto}
.social-proof .proof-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;text-decoration:none}
.social-proof .proof-number{font-size:44px;font-weight:800;color:var(--neon);line-height:1.05;letter-spacing:-0.02em}
.social-proof .proof-label{font-size:14px;color:var(--muted)}
.social-proof .proof-stars{font-size:20px;color:#FFC83D;letter-spacing:2px}
.social-proof .proof-link .proof-number{transition:transform .2s}
.social-proof .proof-link:hover .proof-number{transform:scale(1.05)}
body[class*="theme-"] .social-proof .proof-number{color:var(--theme-accent,var(--neon))}
@media (max-width:768px){.social-proof{padding:34px 0}.social-proof .proof-grid{gap:14px}.social-proof .proof-number{font-size:30px}.social-proof .proof-label{font-size:12px}.social-proof .proof-stars{font-size:15px;letter-spacing:1px}}

/* v5 (Welber 31/05) - estrelas do Google abaixo do 5,0, centralizadas */
.social-proof .proof-stars{display:block;line-height:1;margin-top:-1px}

/* v6 (Welber 31/05) - carrossel de cases desgrudado da borda no mobile */
@media (max-width:768px){.cases-grid{padding-left:20px!important}}

/* ============================================================
   v7 (Welber 31/05) - prova social refinada + datas organizadas
   ============================================================ */
.social-proof .proof-label{white-space:nowrap}
.social-proof .proof-stars{display:flex;align-items:center;justify-content:center;gap:5px}
.social-proof .g-icon{width:15px;height:15px;flex-shrink:0}
@media (max-width:768px){
  .hero{padding-bottom:20px!important}
  .social-proof{padding-top:18px!important}
  .social-proof .proof-grid{gap:10px}
  .social-proof .proof-label{font-size:10px}
}

.seasonal-addon-tag{display:flex!important;width:-moz-fit-content!important;width:fit-content!important;margin-left:auto!important;margin-right:auto!important}

.seasonal-addon-occasions{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important}
.seasonal-addon-chip{font-size:11.5px!important;font-weight:600!important;padding:6px 8px!important;text-align:center;background:rgba(255,255,255,0.03)!important;border:1px solid rgba(200,255,61,0.28)!important;color:var(--ink)!important;transition:transform .25s ease,background .25s ease,border-color .25s ease}
.seasonal-addon-chip:hover{transform:translateY(-1px);background:rgba(200,255,61,0.1)!important}
body[class*="theme-"] .seasonal-addon-chip{border-color:var(--theme-accent)!important}
body[class*="theme-"] .seasonal-addon-chip:hover{background:rgba(255,77,122,0.12)!important}
@media (max-width:768px){.seasonal-addon-occasions{grid-template-columns:repeat(2,1fr)!important;gap:7px!important}.seasonal-addon-chip{font-size:11px!important;padding:6px 6px!important}}

/* ============================================================
   v8 (Welber 31/05) - texto NUNCA some no mobile + custom justify
   Causa do "sumindo": .reveal comeca opacity:0 e depende do observer.
   No mobile forcamos visivel sempre (independente de timing).
   ============================================================ */
@media (max-width:768px){
  .reveal, .reveal.is-visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
}
.custom-card p{ -webkit-hyphens:auto; hyphens:auto; overflow-wrap:break-word; }
