/* ==========================================================================
   VIDA+ LANDING PAGE — STYLESHEET
   ========================================================================== */
:root{
  --verde-escuro:   #0b3d2e;
  --verde-medio:    #14532d;
  --verde-claro:    #22c55e;
  --verde-claro-2:  #86efac;
  --verde-fundo:    #f0faf4;
  --branco:         #ffffff;
  --cinza-texto:    #4b5563;
  --cinza-claro:    #f4f6f5;
  --preto-texto:    #16241d;
  --dourado:        #f59e0b;
  --dourado-claro:  #fde68a;
  --sombra:         0 10px 30px rgba(11,61,46,0.12);
  --raio:           16px;
}

/* Reset */
*{ margin:0; padding:0; box-sizing:border-box; }
body{
  font-family: "Segoe UI", Arial, Helvetica, sans-serif;
  color: var(--cinza-texto);
  line-height:1.6;
  background:var(--branco);
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ text-decoration:none; color:inherit; }
ul{ list-style:none; }
.container{ max-width:1180px; margin:0 auto; padding:0 24px; }
.section-title{ font-size:2rem; color:var(--preto-texto); font-weight:700; margin-bottom:16px; }
.section-subtitle{ color:var(--cinza-texto); max-width:700px; margin-bottom:32px; }
.text-center{ text-align:center; margin-left:auto; margin-right:auto; }

/* Botoes */
.btn{ display:inline-flex; align-items:center; gap:8px; padding:14px 28px; border-radius:50px; font-weight:600; font-size:0.95rem; cursor:pointer; border:none; transition:transform .2s ease, box-shadow .2s ease, background .2s ease; }
.btn-primary{ background:var(--verde-claro); color:var(--verde-escuro); }
.btn-primary:hover{ transform:translateY(-2px); box-shadow:var(--sombra); background:#1fb356; }
.btn-outline{ background:transparent; border:2px solid var(--verde-claro); color:var(--verde-claro); }
.btn-outline:hover{ background:var(--verde-claro); color:var(--verde-escuro); }
.btn-whatsapp{ background:var(--verde-escuro); color:var(--branco); display:inline-flex; align-items:center; gap:8px; border-radius:50px; padding:14px 28px; font-weight:600; transition:all .2s; }
.btn-whatsapp:hover{ background:var(--verde-medio); transform:translateY(-2px); }
.btn-whatsapp svg{ width:20px; height:20px; fill:#ffffff; flex-shrink:0; }

.btn-ligacao{ background:var(--verde-claro); color:var(--verde-escuro); }
.btn-ligacao svg{ width:18px; height:18px; flex-shrink:0; }
.btn-ligacao:hover{ background:#1fb356; transform:translateY(-2px); box-shadow:var(--sombra); }

.cta-group{ display:flex; flex-wrap:wrap; gap:14px; margin-top:28px; }
.hero-cta-group{ display:flex; flex-wrap:wrap; gap:14px; margin-top:28px; }

/* Header */
header{ position:sticky; top:0; z-index:999; background:var(--branco); box-shadow:0 2px 12px rgba(0,0,0,0.06); }
.header-inner{ display:flex; align-items:center; justify-content:space-between; padding:12px 24px; max-width:1180px; margin:0 auto; }
.logo{ font-size:1.6rem; font-weight:800; color:var(--verde-escuro); }
.logo span{ color:var(--verde-claro); }
nav ul{ display:flex; gap:36px; }
nav a{ font-weight:600; color:var(--preto-texto); position:relative; padding-bottom:4px; }
nav a.active, nav a:hover{ color:var(--verde-claro); }
nav a.active::after{ content:""; position:absolute; left:0; bottom:-4px; width:100%; height:3px; background:var(--verde-claro); border-radius:2px; }

.header-actions{ display:flex; align-items:center; gap:10px; }
.btn-header-wa{
  display:inline-flex; align-items:center; gap:6px;
  background:#25D366; color:#fff;
  padding:8px 12px; border-radius:50%; width:38px; height:38px;
  transition:background .2s, transform .2s;
  justify-content:center;
}
.btn-header-wa:hover{ background:#1ebe5a; transform:translateY(-1px); }
.btn-header-wa svg{ width:20px; height:20px; fill:#fff; flex-shrink:0; }
.btn-header-wa span{ display:none; }
.menu-toggle{ display:none; background:none; border:none; color:var(--verde-escuro); cursor:pointer; padding:4px; }

/* Hero */
.hero{ position:relative; background: linear-gradient(rgba(11,61,46,0.55), rgba(11,61,46,0.55)), url("https://vida.funerariariodejaneiro.com.br/images/equipe.jpeg") center/cover no-repeat; color:var(--branco); padding:90px 0 120px; }
.hero-grid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:40px; align-items:center; }
.hero h1{ font-size:3rem; font-weight:800; margin-bottom:20px; line-height:1.15; }
.hero p{ font-size:1.1rem; color:#e6f4ea; max-width:520px; margin-bottom:8px; }

/* Lead form */
.lead-form{ background:var(--branco); border-radius:var(--raio); padding:32px; box-shadow:var(--sombra); color:var(--preto-texto); }
.lead-form h3{ margin-bottom:18px; font-size:1.2rem; color:var(--verde-escuro); }
.form-group{ margin-bottom:16px; }
.form-group label{ display:block; font-size:0.85rem; font-weight:600; margin-bottom:6px; }
.form-group label .req{ color:#dc2626; }
.form-group input{ width:100%; padding:12px 14px; border-radius:10px; border:1px solid #d8dfda; background:#f7faf8; font-size:0.95rem; }
.form-group input:focus{ outline:2px solid var(--verde-claro); }
.lead-form .btn-primary{ width:100%; justify-content:center; }

/* Cards de destaque */
.highlights{ margin-top:-70px; position:relative; z-index:5; }
.highlights-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.highlight-card{ background:var(--branco); border-radius:var(--raio); padding:28px; box-shadow:var(--sombra); border-top:4px solid var(--verde-claro); }
.highlight-card .icon{ width:46px; height:46px; background:var(--verde-fundo); border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:14px; color:var(--verde-claro); }
.highlight-card .icon svg{ width:24px; height:24px; }
.highlight-card h4{ font-size:1.05rem; margin-bottom:8px; color:var(--preto-texto); }
.highlight-card p{ font-size:0.92rem; }

/* Missao */
.missao{ padding:100px 0 60px; }
.missao-grid{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.missao-collage{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.missao-collage img{ border-radius:14px; object-fit:cover; width:100%; height:140px; }
.missao-collage img:nth-child(2){ height:180px; margin-top:-20px; }

/* Suporte */
.suporte{ padding:80px 0; text-align:center; background:var(--verde-fundo); }
.suporte .destaque{ font-weight:700; color:var(--verde-escuro); margin-bottom:28px; font-size:1.1rem; }

/* Telemedicina */
.telemedicina{ padding:90px 0; }
.tele-grid{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.tele-img-wrap{ position:relative; display:flex; justify-content:center; }
.tele-img-wrap::before{ content:""; position:absolute; width:260px; height:260px; border:36px solid var(--verde-claro); border-radius:50%; border-right-color:transparent; transform:rotate(45deg); z-index:0; }
.tele-img-wrap img{ position:relative; z-index:1; border-radius:20px; width:320px; height:380px; object-fit:cover; }
.telemedicina h4{ color:var(--verde-claro); margin-bottom:10px; }

/* Parceiros */
.parceiros{ padding:50px 0; text-align:center; }
.parceiros-logos{ display:flex; flex-wrap:wrap; justify-content:center; gap:40px; margin-top:30px; opacity:0.75; }
.parceiros-logos img{ height:34px; }

/* Beneficios */
.beneficios{ background:linear-gradient(135deg, var(--verde-escuro), var(--verde-medio)); color:var(--branco); padding:90px 0; }
.beneficios .section-title, .beneficios .section-subtitle{ color:var(--branco); }
.beneficios .section-subtitle{ color:#cfe9d8; }
.beneficios-track{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:20px; }
.beneficio-card{ background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.15); border-radius:var(--raio); padding:26px; }
.beneficio-card p{ color:#d9ecdf; font-size:0.9rem; margin-bottom:14px; }
.beneficio-card strong{ font-size:1.2rem; color:var(--verde-claro-2); display:block; }
.beneficios-dots{ display:flex; justify-content:center; gap:8px; margin-top:36px; }
.beneficios-dots span{ width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,0.35); }
.beneficios-dots span.active{ background:var(--verde-claro); }

/* PRECOS / PLANOS */
.precos{ padding:90px 0; background:var(--cinza-claro); }
.precos .section-title{ color:var(--preto-texto); }

.planos-grid{ display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:50px; margin-bottom:60px; }

.plano-card{ background:var(--branco); border-radius:20px; overflow:hidden; box-shadow:0 16px 48px rgba(11,61,46,0.13); display:flex; flex-direction:column; transition:transform .2s ease, box-shadow .2s ease; }
.plano-card:hover{ transform:translateY(-6px); box-shadow:0 24px 60px rgba(11,61,46,0.2); }
.plano-gold{ border:3px solid var(--dourado); }

.plano-header{ padding:32px 32px 28px; position:relative; }
.plano-basic-header{ background:linear-gradient(135deg, var(--verde-escuro), var(--verde-medio)); color:var(--branco); }
.plano-gold-header{ background:linear-gradient(135deg, #78350f, #d97706, #f59e0b); color:var(--branco); }

.plano-badge{ display:inline-block; padding:4px 14px; background:rgba(255,255,255,0.18); border:1px solid rgba(255,255,255,0.35); border-radius:50px; font-size:0.75rem; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; margin-bottom:12px; }
.badge-gold{ background:rgba(253,230,138,0.25); border-color:rgba(253,230,138,0.5); }

.plano-header h3{ font-size:1.6rem; font-weight:800; margin-bottom:20px; }
.plano-preco{ display:flex; flex-direction:column; gap:4px; }
.preco-de{ font-size:0.78rem; opacity:0.75; text-transform:uppercase; letter-spacing:0.06em; }
.preco-valor{ display:flex; align-items:flex-start; line-height:1; gap:2px; }
.preco-rs{ font-size:1.2rem; font-weight:700; margin-top:6px; }
.preco-num{ font-size:4rem; font-weight:900; line-height:1; }
.preco-cents{ display:flex; flex-direction:column; justify-content:flex-end; padding-bottom:4px; }
.preco-cents span:first-child{ font-size:1.4rem; font-weight:700; }
.preco-cents span:last-child{ font-size:0.8rem; opacity:0.8; }
.preco-obs{ font-size:0.8rem; opacity:0.75; margin-top:8px; }

.plano-body{ padding:28px 32px; flex:1; }
.plano-secao-titulo{ font-size:0.78rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:var(--verde-escuro); margin-bottom:12px; margin-top:20px; padding-top:20px; border-top:1px solid #e8f0eb; }
.plano-gold .plano-secao-titulo{ color:#92400e; }
.plano-body .plano-secao-titulo:first-child{ margin-top:0; padding-top:0; border-top:none; }

.plano-lista{ display:flex; flex-direction:column; gap:9px; margin-bottom:16px; }
.plano-lista li{ display:flex; align-items:flex-start; gap:8px; font-size:0.92rem; color:var(--cinza-texto); }
.plano-lista li svg{ width:16px; height:16px; flex-shrink:0; margin-top:2px; color:var(--verde-claro); fill:var(--verde-claro); }
.plano-nao-incluso li{ color:#9ca3af; }
.plano-nao-incluso li svg{ color:#d1d5db; fill:#d1d5db; }

.plano-footer{ padding:20px 32px 28px; display:flex; flex-direction:column; gap:10px; }
.plano-btn{ width:100%; justify-content:center; font-size:0.92rem; }
.plano-btn-tel{ width:100%; justify-content:center; font-size:0.88rem; border:1.5px solid var(--verde-claro); color:var(--verde-escuro); padding:10px 20px; border-radius:50px; font-weight:600; display:inline-flex; align-items:center; gap:8px; transition:all .2s; background:transparent; cursor:pointer; }
.plano-btn-tel svg{ width:16px; height:16px; }
.plano-btn-tel:hover{ background:var(--verde-fundo); }
.btn-outline-gold{ border:1.5px solid var(--dourado); color:#92400e; background:transparent; }
.btn-outline-gold:hover{ background:var(--dourado); color:#fff; }

.btn-gold-wa{ background:linear-gradient(135deg, #d97706, #f59e0b); color:#fff; display:inline-flex; align-items:center; gap:8px; border-radius:50px; padding:14px 20px; font-weight:700; transition:all .2s; border:none; cursor:pointer; }
.btn-gold-wa:hover{ filter:brightness(1.1); transform:translateY(-2px); }
.btn-gold-wa svg{ width:18px; height:18px; fill:#fff; flex-shrink:0; }

.valores-por-vida{ background:var(--branco); border-radius:20px; padding:40px; box-shadow:var(--sombra); }
.valores-por-vida h3{ font-size:1.5rem; color:var(--preto-texto); font-weight:700; margin-bottom:8px; }
.valores-por-vida > p{ color:var(--cinza-texto); margin-bottom:24px; }

.tabela-wrap{ overflow-x:auto; }
.tabela-valores{ width:100%; border-collapse:collapse; margin-bottom:20px; min-width:400px; }
.tabela-valores th{ background:var(--verde-escuro); color:var(--branco); padding:12px 16px; text-align:left; font-size:0.88rem; font-weight:700; }
.tabela-valores th:first-child{ border-radius:10px 0 0 0; }
.tabela-valores th:last-child{ border-radius:0 10px 0 0; }
.tabela-valores td{ padding:12px 16px; font-size:0.9rem; border-bottom:1px solid #e5f0eb; }
.tabela-valores tr:nth-child(even) td{ background:#f7fbf8; }
.tabela-valores tr:last-child td{ border-bottom:none; }
.tabela-valores tr:hover td{ background:var(--verde-fundo); }

.valores-obs{ background:var(--verde-fundo); border-left:4px solid var(--verde-claro); padding:14px 18px; border-radius:0 10px 10px 0; margin-bottom:8px; }
.valores-obs p{ font-size:0.87rem; color:var(--verde-escuro); margin-bottom:4px; }
.valores-obs p:last-child{ margin-bottom:0; }

/* Familia */
.familia{ padding:90px 0; }
.familia-grid{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.familia-img-wrap{ position:relative; display:flex; justify-content:center; }
.familia-img-wrap::before{ content:""; position:absolute; width:280px; height:280px; border:36px solid var(--verde-claro-2); border-radius:50%; border-left-color:transparent; z-index:0; }
.familia-img-wrap img{ position:relative; z-index:1; border-radius:20px; width:340px; height:380px; object-fit:cover; }

/* FAQ */
.faq{ background:linear-gradient(135deg, var(--verde-medio), var(--verde-escuro)); color:var(--branco); padding:90px 0; }
.faq-grid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:50px; }
.faq h2{ font-size:2rem; margin-bottom:30px; }
.faq-item{ border-bottom:1px solid rgba(255,255,255,0.2); padding:16px 0; cursor:pointer; }
.faq-item summary{ font-weight:600; list-style:none; display:flex; justify-content:space-between; align-items:center; }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{ content:"+"; font-size:1.3rem; color:var(--verde-claro-2); }
.faq-item[open] summary::after{ content:"-"; }
.faq-item p{ margin-top:10px; color:#d9ecdf; font-size:0.92rem; }
.faq .lead-form{ align-self:start; }

/* Depoimentos */
.depoimentos{ padding:0; position:relative; }
.dep-grid{ display:grid; grid-template-columns:0.9fr 1.1fr; }
.dep-img{ min-height:420px; }
.dep-img img{ width:100%; height:100%; object-fit:cover; }
.dep-conteudo{ background:var(--verde-escuro); color:var(--branco); padding:70px 50px; display:flex; flex-direction:column; justify-content:center; }
.dep-conteudo h2{ margin-bottom:30px; }
.dep-cards{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.dep-card{ background:rgba(255,255,255,0.07); border-radius:var(--raio); padding:22px; font-size:0.9rem; }
.dep-card .estrelas{ color:var(--verde-claro-2); margin-bottom:10px; }
.dep-card .autor{ margin-top:12px; font-weight:700; color:var(--verde-claro-2); }

/* Rodape */
footer{ background:#08281d; color:#cfe6d9; padding:60px 0 20px; }
.footer-grid{ display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:40px; margin-bottom:40px; }
footer h4{ color:var(--branco); margin-bottom:16px; }
footer .logo{ color:var(--branco); margin-bottom:14px; }
footer .logo span{ color:var(--verde-claro-2); }
footer p{ font-size:0.9rem; }
footer ul li{ margin-bottom:10px; font-size:0.9rem; }
footer ul li a:hover{ color:var(--verde-claro-2); }

.footer-social{ display:flex; gap:14px; margin-top:16px; }
.footer-social a{ width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,0.08); display:flex; align-items:center; justify-content:center; transition:background .2s ease, transform .2s ease; }
.footer-social a:hover{ background:var(--verde-claro); transform:translateY(-3px); }
.footer-social a svg{ width:20px; height:20px; fill:#ffffff; }

.footer-bottom{ border-top:1px solid rgba(255,255,255,0.1); padding-top:20px; text-align:center; font-size:0.8rem; color:#7fa791; }

/* BARRA FIXA CTA */
.sticky-footer-bar{
  position:fixed; bottom:0; left:0; right:0; z-index:1000;
  display:flex;
  transform:translateY(100%);
  transition:transform .3s ease;
  box-shadow:0 -4px 20px rgba(0,0,0,0.2);
}
.sticky-footer-bar.visible{ transform:translateY(0); }
.sticky-btn{ flex:1; display:flex; align-items:center; justify-content:center; gap:10px; padding:16px 12px; font-weight:700; font-size:0.95rem; transition:filter .2s; cursor:pointer; text-decoration:none; }
.sticky-btn:hover{ filter:brightness(1.08); }
.sticky-btn svg{ width:22px; height:22px; flex-shrink:0; }
.sticky-btn-call{ background:var(--verde-escuro); color:var(--branco); }
.sticky-btn-call svg{ fill:#ffffff; }
.sticky-btn-wa{ background:#25D366; color:#fff; }
.sticky-btn-wa svg{ fill:#ffffff; }

/* DESKTOP: barra fixa oculta */
@media(min-width:961px){
  .sticky-footer-bar{ display:none !important; }
}

/* RESPONSIVO */
@media(max-width:960px){
  body{ padding-bottom:68px; }
  #main-nav{ display:none; position:absolute; top:100%; left:0; right:0; background:var(--branco); box-shadow:0 8px 24px rgba(0,0,0,0.1); z-index:998; padding:12px 0; }
  #main-nav.nav-open{ display:block; }
  #main-nav ul{ flex-direction:column; gap:0; padding:0 24px; }
  #main-nav ul li a{ display:block; padding:14px 0; border-bottom:1px solid #f0f0f0; font-size:1rem; }
  #main-nav ul li:last-child a{ border-bottom:none; }
  .menu-toggle{ display:block; }
  .btn-header-wa{ width:36px; height:36px; padding:8px; border-radius:50%; }
  .hero-grid, .missao-grid, .tele-grid, .familia-grid, .faq-grid, .dep-grid{ grid-template-columns:1fr; }
  .highlights-grid, .beneficios-track, .dep-cards{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; }
  .planos-grid{ grid-template-columns:1fr; }
  .hero h1{ font-size:2.2rem; }
  .section-title{ font-size:1.6rem; }
  .preco-num{ font-size:3rem; }
  .missao-collage{ grid-template-columns:repeat(2,1fr); }
  .tele-img-wrap::before{ display:none; }
  .tele-img-wrap img{ width:100%; height:280px; }
  .familia-img-wrap::before{ display:none; }
  .familia-img-wrap img{ width:100%; height:280px; }
  .dep-conteudo{ padding:40px 24px; }
  .plano-body{ padding:24px 20px; }
  .plano-footer{ padding:16px 20px 24px; }
  .plano-header{ padding:24px 20px 20px; }
  .valores-por-vida{ padding:24px; }
  .hero{ padding:60px 0 100px; }
  .highlights{ margin-top:-50px; }
}

@media(max-width:480px){
  .hero h1{ font-size:1.8rem; }
  .hero p{ font-size:1rem; }
  .btn{ padding:12px 20px; font-size:0.88rem; }
  .sticky-btn{ font-size:0.85rem; padding:14px 8px; }
  .dep-cards{ grid-template-columns:1fr; }
  .cta-group{ flex-direction:column; }
  .hero-cta-group{ flex-direction:column; }
  .header-inner{ padding:12px 16px; }
}
