
.assoc-page { background: #f2f6f2; }
.assoc-reference-hero {
  position: relative; min-height: 430px; display: flex; align-items: flex-end; overflow: hidden;
  background: radial-gradient(circle at 78% 20%, rgba(106,191,110,.18), transparent 32%), #1a4a1e;
  color: #fff;
}
.assoc-reference-hero::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 78px;
  background: #f2f6f2; clip-path: polygon(0 100%,100% 0,100% 100%);
}
.assoc-reference-hero-inner { position: relative; z-index: 1; padding-top: 92px; padding-bottom: 104px; }
.assoc-badge { display: inline-flex; align-items: center; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.1); color: #8fd394; border-radius: 999px; padding: 7px 14px; font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; margin-bottom: 18px; }
.assoc-reference-hero h1 { font-family: var(--font-serif); font-size: clamp(2.5rem,5vw,4.1rem); line-height: 1.04; margin: 0 0 16px; }
.assoc-reference-hero h1 em { color: #7ccf82; font-style: normal; }
.assoc-reference-hero p { max-width: 560px; color: rgba(255,255,255,.75); font-size: 1.05rem; }
.assoc-form-section { padding: 58px 20px 84px; }
.assoc-form-inner { width: min(860px,100%); margin: 0 auto; }
.assoc-form-card, .assoc-success { background: #fff; border: 1px solid rgba(61,145,66,.12); border-radius: 24px; padding: 40px; box-shadow: 0 20px 60px rgba(29,90,35,.14); }
.assoc-form-card h2, .assoc-success h2 { font-family: var(--font-serif); color: #1a4a1e; font-size: 1.65rem; margin-bottom: 6px; }
.assoc-lead { color: #586258; margin-bottom: 24px; line-height: 1.65; }
.assoc-alerta { border-left: 4px solid #3d9142; background: #e8f5e9; color: #4b554b; padding: 14px 18px; border-radius: 10px; font-size: .9rem; line-height: 1.6; margin-bottom: 24px; }
.assoc-alerta strong { color: #1a4a1e; }
.assoc-option-list { display: grid; gap: 12px; margin-bottom: 18px; }
.assoc-radio { display: flex; align-items: center; gap: 14px; background: #f2f6f2; border: 2px solid transparent; border-radius: 14px; padding: 16px 20px; cursor: pointer; user-select: none; }
.assoc-radio input { position: absolute; opacity: 0; pointer-events: none; }
.assoc-radio-circle { width: 22px; height: 22px; border-radius: 50%; border: 2px solid #c8cec8; background: #fff; display: grid; place-items: center; flex: 0 0 22px; }
.assoc-radio-circle::after { content: ''; width: 10px; height: 10px; border-radius: 50%; background: #3d9142; transform: scale(0); opacity: 0; }
.assoc-radio.selecionado { border-color: #3d9142; background: #e8f5e9; }
.assoc-radio.selecionado .assoc-radio-circle { border-color: #3d9142; }
.assoc-radio.selecionado .assoc-radio-circle::after { transform: scale(1); opacity: 1; }
.assoc-radio-copy { display: flex; flex-direction: column; gap: 3px; }
.assoc-radio-copy strong { color: #1a4a1e; font-size: 1rem; }
.assoc-radio-copy small { color: #7a837a; font-size: .85rem; }
.assoc-company-wrap { height: 0; opacity: 0; overflow: hidden; margin-bottom: 0; }
.assoc-company-wrap.visivel { margin-bottom: 18px; }
.assoc-field { flex: 1; min-width: 200px; }
.assoc-field label { display: block; font-size: .84rem; font-weight: 650; color: #4b554b; margin-bottom: 7px; }
.assoc-field input, .assoc-field select { width: 100%; min-height: 48px; padding: 12px 15px; border: 1.5px solid #dce2dc; border-radius: 12px; background: #fff; color: #3e463e; font: inherit; font-size: .94rem; outline: 0; }
.assoc-field input:focus, .assoc-field select:focus { border-color: #3d9142; }
.assoc-form-row { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 16px; }
.assoc-form-row.assoc-three > .assoc-field { min-width: 180px; }
.assoc-full { flex-basis: 100%; }
.assoc-grow { flex: 1.7; }
.assoc-number { flex: 0 0 120px; min-width: 100px; }
.assoc-cep { flex: 0 0 160px; min-width: 120px; }
.assoc-photo-row { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.assoc-photo-row input[type=file] { flex: 1; min-width: 240px; padding: 10px; }
.assoc-photo-preview { width: 74px; height: 74px; border-radius: 12px; overflow: hidden; border: 2px dashed #6abf6e; background: #e8f5e9; display: grid; place-items: center; color: #718071; font-size: .78rem; flex: 0 0 74px; }
.assoc-photo-preview img { width: 100%; height: 100%; object-fit: cover; }
.assoc-dependents-block { margin-top: 24px; }
.assoc-dependents-header { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 16px; }
.assoc-dependents-header h3 { color: #1a4a1e; font-size: 1.08rem; }
.assoc-btn-group { display: flex; gap: 10px; flex-wrap: wrap; }
.assoc-btn { border: 0; border-radius: 999px; padding: 10px 19px; font: inherit; font-size: .88rem; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 8px; text-decoration: none; }
.assoc-btn-green { background: linear-gradient(135deg,#3d9142,#6abf6e); color: #fff; box-shadow: 0 6px 20px rgba(61,145,66,.23); }
.assoc-btn-outline { background: transparent; color: #3d9142; border: 1.5px solid #3d9142; }
.assoc-btn-outline-red { background: transparent; color: #b43f33; border: 1.5px solid #b43f33; }
.assoc-btn-full { width: 100%; border-radius: 14px; padding: 15px 20px; font-size: 1rem; }
.assoc-btn:disabled { opacity: .6; cursor: not-allowed; }
.assoc-dependent-item { background: #f2f6f2; border: 1px solid rgba(61,145,66,.1); border-radius: 14px; padding: 20px; margin-bottom: 14px; }
.assoc-dependent-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.assoc-dependent-title h4 { color: #1a4a1e; font-size: .95rem; }
.assoc-remove-dependent { border: 0; background: #fff; color: #b43f33; width: 32px; height: 32px; border-radius: 50%; cursor: pointer; font-size: 1.2rem; }
.assoc-form-footer { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 12px; }
.assoc-note { color: #7d857d; font-size: .84rem; }
.assoc-hidden { display: none !important; }
.assoc-success { text-align: center; padding: 48px 40px; }
.assoc-success-icon { width: 72px; height: 72px; display: grid; place-items: center; margin: 0 auto 18px; border-radius: 50%; background: #e8f5e9; color: #3d9142; font-size: 2.2rem; font-weight: 800; }
.assoc-success p { line-height: 1.75; color: #586258; margin: 14px 0 24px; }
.assoc-value { display: inline-block; background: #e8f5e9; color: #3d9142; border-radius: 14px; padding: 17px 26px; margin-bottom: 24px; font-family: var(--font-serif); font-size: 1.15rem; }
.assoc-value strong { font-size: 1.55rem; }
.assoc-home-btn { max-width: 420px; margin: 0 auto; }
@media (max-width: 640px) {
  .assoc-reference-hero { min-height: 360px; }
  .assoc-reference-hero-inner { padding-top: 70px; padding-bottom: 86px; }
  .assoc-form-section { padding: 38px 14px 60px; }
  .assoc-form-card, .assoc-success { padding: 26px 20px; border-radius: 18px; }
  .assoc-form-row, .assoc-form-row.assoc-three { flex-direction: column; gap: 12px; }
  .assoc-field, .assoc-number, .assoc-cep { flex: 1 1 auto; min-width: 100%; }
  .assoc-dependents-header, .assoc-form-footer { align-items: stretch; }
  .assoc-btn-group { width: 100%; }
  .assoc-btn-group .assoc-btn { flex: 1; }
}



.assoc-reference-hero-inner { padding-top: 84px; }
.assoc-address-block { margin-top: 4px; }
.assoc-address-lookup { margin-bottom: 14px; }
.assoc-cep-first { flex: 0 1 330px; min-width: min(100%,330px); }
.assoc-cep-status { display:block; min-height:18px; margin-top:7px; color:#7e887f; font-size:.76rem; line-height:1.45; }
.assoc-cep-status[data-state="loading"] { color:#64766a; }
.assoc-cep-status[data-state="success"] { color:#2d6a31; }
.assoc-cep-status[data-state="error"] { color:#a34c42; }
.assoc-uf { flex:0 0 100px; min-width:90px; }
.assoc-field input[data-picker] { cursor:pointer; background:#fff; }
@media (max-width:640px) {
  .assoc-cep-first, .assoc-uf { flex:1 1 auto; min-width:100%; }
}
