/* ===== HERO (Home) ===== */
.hero{ display:flex; flex-direction:column; align-items:center }
.hero-inner{ max-width:960px; padding:40px 16px 24px; text-align:center }
.hero-title{
  font-size:clamp(34px,6vw,64px); font-weight:800; letter-spacing:.3px;
  margin:18px 0 8px; font-family:"Montserrat",sans-serif;
}
.highlight{ color:var(--brand) }
.hero-subtitle{
  font-size:clamp(15px,2.2vw,18px); color:var(--muted);
  margin:8px auto 18px; max-width:820px;
}
.hero-actions{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap }

/* ===== “É simples!” (Steps) ===== */
.steps{ background:var(--panel); width:100%; color:var(--text); margin:22px 0 0 }
.steps-inner{ max-width:1120px; margin:0 auto; padding:28px 16px; text-align:center }
.steps-title{ font-size:clamp(26px,5vw,40px); font-weight:800; margin:0 0 16px }
.steps-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; align-items:end }
.step{ display:flex; flex-direction:column; align-items:center; gap:10px }
.step-img{ width:72px; height:auto; display:block }
.step-text{ font-family:"Montserrat",sans-serif; font-weight:700; line-height:1.1; text-transform:lowercase }
.step-text strong{ font-size:clamp(16px,2vw,22px) }
.step-text small{ font-weight:600; opacity:.95; display:block; font-size:clamp(13px,2vw,18px) }
.step-plus{ font-size:clamp(26px,5vw,42px); font-weight:800; line-height:1; margin-bottom:4px }
@media (max-width:860px){ .steps-grid{ grid-template-columns:1fr } }

/* ===== SUPORTE ===== */
.support{ background:var(--bg); color:var(--text); padding:28px 0 36px }
.support-inner{ max-width:900px; margin:0 auto; text-align:center; padding:0 16px }
.support-title{
  font-family:"Montserrat",sans-serif; font-size:clamp(26px,6vw,48px);
  font-weight:800; margin:4px 0 10px;
}
.support-subtitle{ color:var(--muted); font-size:clamp(14px,2vw,17px); margin:0 0 16px }
.support .wa{ color:var(--brand); font-weight:700 }

/* ===== Listagem de rifas (cards) ===== */
.cards-rifas{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:18px; align-items:stretch;
}
.rifa-card{
  display:flex; flex-direction:column; justify-content:space-between;
  border:1px solid var(--border); border-radius:12px; overflow:hidden;
  background:var(--panel); box-shadow:0 2px 6px rgba(0,0,0,.15); height:100%;
}
.rifa-card__media{ position:relative; width:100%; padding-top:62.5%; overflow:hidden }
.rifa-card__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover }
.rifa-card__badge{
  position:absolute; top:8px; left:8px;
  background:var(--brand); color:#0b0f14; font-weight:800;
  padding:4px 8px; border-radius:8px; font-size:.85rem;
}
.rifa-card__body{ flex:1; display:flex; flex-direction:column; padding:12px }
.rifa-card__title{
  font-size:1.05rem; font-weight:800; margin:0 0 6px; line-height:1.3em;
  min-height:2.6em; overflow:hidden; text-overflow:ellipsis;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
}
.rifa-card__sub{ color:var(--muted); font-size:.9rem; margin:0 0 10px }
.rifa-card__footer{ margin-top:auto; display:flex; width:100%; justify-content:space-between; align-items:center }
.rifa-card__date{ display:flex; align-items:center; gap:6px; font-size:.85rem; color:var(--muted) }
.rifa-card__date svg{ width:16px; height:16px; fill:currentColor }
.rifa-card__cta{ font-size:.9rem }
