/* =============================================
   COOPAIBI — Estilos da Página Seja Cooperado
   Projeto Cacau que Refloresta (2026)
   ============================================= */

.coop-hero {
  background: linear-gradient(140deg, #081a08 0%, #1a5c1a 50%, #1f7a22 100%);
  padding: 76px 24px; text-align: center; position: relative; overflow: hidden;
}
.coop-hero::before { content:''; position:absolute; left:-100px; top:-100px; width:360px; height:360px; border-radius:50%; background:rgba(126,217,74,.07); pointer-events:none; }
.coop-hero::after  { content:''; position:absolute; right:-80px; bottom:-80px; width:280px; height:280px; border-radius:50%; background:rgba(255,255,255,.04); pointer-events:none; }
.coop-hero-inner { max-width:700px; margin:0 auto; position:relative; z-index:2; }
.coop-pill { display:inline-block; background:rgba(126,217,74,.18); border:1px solid rgba(126,217,74,.35); border-radius:20px; padding:7px 18px; font-size:12px; color:#b0f070; font-weight:700; letter-spacing:.6px; text-transform:uppercase; margin-bottom:20px; font-family:'Montserrat',sans-serif; }
.coop-hero h1 { font-size:40px; font-weight:900; color:#fff; line-height:1.15; margin-bottom:16px; font-family:'Montserrat',sans-serif; }
.coop-hero h1 em { color:var(--glt); font-style:normal; }
.coop-hero p { font-size:16px; color:rgba(255,255,255,.78); line-height:1.7; max-width:580px; margin:0 auto; }

.benef-strip { background:var(--g2); padding:0 24px; }
.benef-inner { max-width:1160px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); }
.benef-item { padding:22px 16px; text-align:center; border-right:1px solid rgba(255,255,255,.15); }
.benef-item:last-child { border-right:none; }
.benef-icon { font-size:26px; margin-bottom:8px; display:block; }
.benef-item strong { display:block; font-size:14px; font-weight:700; color:#fff; margin-bottom:3px; font-family:'Montserrat',sans-serif; }
.benef-item span { font-size:12px; color:rgba(255,255,255,.7); }

.steps-section { background:#fff; }
.steps-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:40px; position:relative; }
.step-card { background:#f5faf0; border:1px solid var(--border); border-radius:14px; padding:26px 22px; position:relative; transition:.2s; opacity:0; transform:translateY(14px); }
.step-card.visible { opacity:1; transform:translateY(0); transition:opacity .4s ease,transform .4s ease; }
.step-card:hover { border-color:var(--g2); background:#edf7e4; }
.step-num { width:38px; height:38px; border-radius:50%; background:var(--g2); color:#fff; font-size:15px; font-weight:800; display:flex; align-items:center; justify-content:center; margin-bottom:16px; font-family:'Montserrat',sans-serif; }
.step-card h3 { font-size:15px; font-weight:700; color:var(--text); margin-bottom:8px; font-family:'Montserrat',sans-serif; }
.step-card p { font-size:13px; color:var(--muted); line-height:1.55; }
.step-arrow { position:absolute; right:-14px; top:44px; width:28px; height:28px; background:var(--g2); border-radius:50%; display:flex; align-items:center; justify-content:center; z-index:2; font-size:16px; font-weight:900; color:#fff; }

.tipos-section { background:var(--light-bg); }
.section-header { text-align:center; margin-bottom:40px; }
.section-header .sec-sub { margin:10px auto 0; }
.tipos-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.tipo-card { background:#fff; border:1px solid var(--border); border-radius:14px; padding:28px 24px; transition:.2s; opacity:0; transform:translateY(12px); }
.tipo-card.visible { opacity:1; transform:translateY(0); transition:opacity .4s ease,transform .4s ease; }
.tipo-card:hover { box-shadow:var(--shadow); border-color:var(--g2); }
.tipo-destaque { border:2px solid var(--g2); }
.tipo-badge { display:inline-flex; align-items:center; gap:6px; background:var(--gp); color:var(--g1); font-size:11px; font-weight:700; padding:6px 14px; border-radius:20px; text-transform:uppercase; letter-spacing:.5px; margin-bottom:14px; font-family:'Montserrat',sans-serif; }
.tipo-badge-dest { background:var(--g2); color:#fff; }
.tipo-card h3 { font-size:17px; font-weight:700; color:var(--text); margin-bottom:12px; font-family:'Montserrat',sans-serif; }
.tipo-card ul { list-style:none; display:flex; flex-direction:column; gap:8px; }
.tipo-card li { font-size:13px; color:var(--muted); padding-left:18px; position:relative; line-height:1.45; }
.tipo-card li::before { content:'✓'; position:absolute; left:0; color:var(--g2); font-weight:700; }

.form-section { background:#fff; }
.form-inner { display:grid; grid-template-columns:1fr 430px; gap:64px; align-items:start; }
.form-aside { background:var(--g1); border-radius:16px; padding:36px 30px; color:#fff; margin-top:40px; }
.form-aside h3 { font-size:20px; font-weight:800; color:#fff; margin-bottom:8px; font-family:'Montserrat',sans-serif; }
.form-aside > p { font-size:14px; color:rgba(255,255,255,.75); line-height:1.6; margin-bottom:24px; }
.aside-list { display:flex; flex-direction:column; gap:16px; margin-bottom:24px; }
.aside-item { display:flex; gap:12px; align-items:flex-start; }
.aside-dot { width:30px; height:30px; border-radius:50%; background:rgba(126,217,74,.2); border:1px solid rgba(126,217,74,.4); flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:14px; }
.aside-item strong { display:block; font-size:13px; color:#fff; margin-bottom:2px; font-weight:700; font-family:'Montserrat',sans-serif; }
.aside-item p { font-size:12px; color:rgba(255,255,255,.7); line-height:1.5; }
.aside-divider { height:1px; background:rgba(255,255,255,.15); margin:20px 0; }
.aside-contact { display:flex; flex-direction:column; gap:6px; }
.aside-contact strong { font-size:12px; color:var(--glt); text-transform:uppercase; letter-spacing:.8px; font-family:'Montserrat',sans-serif; margin-bottom:4px; }
.aside-contact a, .aside-contact span { font-size:13px; color:rgba(255,255,255,.75); }
.aside-contact a:hover { color:var(--glt); }

.form-card { background:#f5faf0; border:1px solid var(--border); border-radius:16px; padding:38px 34px; }
.form-card h2 { font-size:22px; font-weight:800; color:var(--text); margin-bottom:6px; font-family:'Montserrat',sans-serif; }
.form-card > p { font-size:14px; color:var(--muted); margin-bottom:26px; line-height:1.55; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-group { display:flex; flex-direction:column; gap:5px; margin-bottom:14px; }
.form-group label { font-size:11px; font-weight:700; color:var(--g1); text-transform:uppercase; letter-spacing:.7px; font-family:'Montserrat',sans-serif; }
.form-group input, .form-group select, .form-group textarea { width:100%; padding:10px 14px; border:1.5px solid #c4ddb8; border-radius:8px; font-size:14px; color:var(--text); background:#fff; outline:none; font-family:'Open Sans',sans-serif; transition:border-color .2s; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--g2); background:#fafff7; }
.form-group textarea { resize:vertical; min-height:86px; }
.check-row { display:flex; align-items:flex-start; gap:10px; margin-bottom:20px; }
.check-row input { width:16px; height:16px; margin-top:3px; accent-color:var(--g2); flex-shrink:0; cursor:pointer; }
.check-row label { font-size:13px; color:#444; line-height:1.5; cursor:pointer; }
.btn-enviar { width:100%; padding:14px; background:var(--g2); color:#fff; border:none; border-radius:10px; font-size:15px; font-weight:700; cursor:pointer; transition:all .2s; letter-spacing:.3px; font-family:'Montserrat',sans-serif; }
.btn-enviar:hover { background:var(--g1); }
.btn-enviar:disabled { background:#888; cursor:default; }
.form-note { text-align:center; font-size:12px; color:#999; margin-top:12px; line-height:1.5; }
.success-box { display:none; background:#e8f5e9; border:2px solid var(--g2); border-radius:12px; padding:24px; text-align:center; margin-top:16px; }
.success-box.show { display:block; }
.success-icon { font-size:32px; margin-bottom:8px; }
.success-box h3 { font-size:18px; font-weight:700; color:var(--g1); margin-bottom:6px; font-family:'Montserrat',sans-serif; }
.success-box p { font-size:14px; color:#2e5c1a; }

.req-section { background:var(--light-bg); }
.req-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:36px; }
.req-card { background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:22px 20px; display:flex; gap:14px; align-items:flex-start; transition:.2s; opacity:0; transform:translateY(10px); }
.req-card.visible { opacity:1; transform:translateY(0); transition:opacity .4s ease,transform .4s ease; }
.req-card:hover { border-color:var(--g2); }
.req-icon { width:44px; height:44px; border-radius:10px; background:var(--gp); display:flex; align-items:center; justify-content:center; font-size:22px; flex-shrink:0; }
.req-card h4 { font-size:14px; font-weight:700; color:var(--text); margin-bottom:5px; font-family:'Montserrat',sans-serif; }
.req-card p { font-size:13px; color:var(--muted); line-height:1.5; }

@media (max-width:960px) {
  .form-inner { grid-template-columns:1fr; gap:36px; }
  .form-aside { margin-top:0; }
  .steps-grid { grid-template-columns:1fr 1fr; }
  .step-arrow { display:none; }
  .tipos-grid { grid-template-columns:1fr 1fr; }
  .req-grid { grid-template-columns:1fr 1fr; }
  .benef-inner { grid-template-columns:1fr 1fr; }
  .benef-item { border-right:none; border-bottom:1px solid rgba(255,255,255,.15); }
  .coop-hero h1 { font-size:30px; }
}
@media (max-width:560px) {
  .steps-grid, .tipos-grid, .req-grid, .benef-inner { grid-template-columns:1fr; }
  .form-row { grid-template-columns:1fr; }
  .form-card { padding:24px 20px; }
  .coop-hero h1 { font-size:24px; }
}
