/* ================= ELEMENTOS GERAIS ================= */
.client-img {
  max-width: 200px;
  height: 130px;
  object-fit: contain;
  display: block;
  margin: 0 auto 8px;
}

/* Botões principais reutilizáveis */
.btn-orcamento{
  background:var(--red);color:var(--white);
  padding:10px 22px;border-radius:8px;
  text-decoration:none;font-weight:700;font-size:.85rem;
  transition:background .2s,transform .15s;white-space:nowrap;
}
.btn-orcamento:hover{background:var(--red2);transform:translateY(-1px)}

.btn-hero-primary{
  background:var(--red);color:var(--white);
  padding:15px 32px;border-radius:10px;text-decoration:none;
  font-weight:700;font-size:.95rem;
  transition:background .2s,transform .15s,box-shadow .2s;
  box-shadow:0 6px 20px rgba(192,57,43,.35);
}
.btn-hero-primary:hover{background:var(--red2);transform:translateY(-2px);box-shadow:0 10px 28px rgba(192,57,43,.45)}

.btn-hero-outline{
  border:2px solid rgba(255,255,255,.25);color:var(--white);
  padding:15px 32px;border-radius:10px;text-decoration:none;
  font-weight:600;font-size:.95rem;
  transition:border-color .2s,transform .15s;
}
.btn-hero-outline:hover{border-color:rgba(255,255,255,.7);transform:translateY(-2px)}

.cta-btn{
  background:var(--red);color:var(--white);
  padding:11px 28px;border-radius:8px;
  text-decoration:none;font-weight:700;font-size:.85rem;
  display:inline-block;
  transition:background .2s,transform .15s;
}
.cta-btn:hover{background:var(--red2);transform:translateY(-1px)}

/* Floating widgets */
.social-floats{
  position:fixed;bottom:28px;right:28px;z-index:3000;
  display:flex;flex-direction:column;align-items:flex-end;gap:8px;
}

.whatsapp-float{
  display:flex;flex-direction:row;align-items:center;gap:8px;
  cursor:pointer;
}
.wa-bubble{
  background:var(--white);color:var(--dark);
  padding:10px 16px;border-radius:12px;
  font-weight:600;font-size:.85rem;
  box-shadow:0 4px 20px rgba(0,0,0,.2);
  white-space:nowrap;opacity:0;transform:translateX(8px);
  transition:opacity .3s,transform .3s;pointer-events:none;
}
.whatsapp-float:hover .wa-bubble{opacity:1;transform:translateX(0)}
.wa-btn{
  width:58px;height:58px;border-radius:50%;
  background:#25d366;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 24px rgba(37,211,102,.4);
  transition:transform .2s,box-shadow .2s;
}
.wa-btn:hover{transform:scale(1.08);box-shadow:0 8px 32px rgba(37,211,102,.5)}
.wa-btn svg{width:30px;height:30px;fill:var(--white)}

.instagram-float{
  display:flex;flex-direction:row;align-items:center;gap:8px;
  cursor:pointer;
  text-decoration:none;
}
.ig-bubble{
  background:var(--white);color:var(--dark);
  padding:10px 12px;border-radius:10px;
  font-weight:600;font-size:.85rem;
  box-shadow:0 4px 20px rgba(0,0,0,.2);
  white-space:nowrap;opacity:0;transform:translateX(8px);
  transition:opacity .25s,transform .25s;pointer-events:none;
}
.instagram-float:hover .ig-bubble{opacity:1;transform:translateX(0)}
.ig-btn{
  width:58px;height:58px;border-radius:50%;
  background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 24px rgba(220,39,67,.4);
  transition:transform .2s,box-shadow .2s;
}
.ig-btn:hover{transform:scale(1.08);box-shadow:0 8px 32px rgba(220,39,67,.5)}
.ig-btn svg{width:28px;height:28px;fill:var(--white)}

/* Modal de contratação */
.modal-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.7);
  z-index:4000;opacity:0;pointer-events:none;
  transition:opacity .3s;backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.modal-overlay.open{opacity:1;pointer-events:all}
.modal-box{
  background:var(--white);border-radius:22px;
  padding:48px 40px;max-width:540px;width:100%;
  box-shadow:0 32px 80px rgba(0,0,0,.35);
  transform:translateY(30px) scale(.97);
  transition:transform .35s cubic-bezier(.77,0,.175,1);
  position:relative;max-height:90vh;overflow-y:auto;
}
.modal-overlay.open .modal-box{transform:translateY(0) scale(1)}
.modal-close-btn{
  position:absolute;top:18px;right:18px;
  width:36px;height:36px;border-radius:50%;border:1.5px solid var(--border);
  background:none;color:var(--dark);cursor:pointer;font-size:1.1rem;
  display:flex;align-items:center;justify-content:center;transition:background .2s;
}
.modal-close-btn:hover{background:rgba(0,0,0,.05)}
.modal-box h3{
  font-family:'Sora',sans-serif;font-size:1.4rem;font-weight:800;
  color:var(--dark);margin-bottom:8px;
}
.modal-box .modal-sub{
  font-size:.9rem;color:var(--gray);margin-bottom:28px;line-height:1.6;
}
.modal-form .fg{margin-bottom:14px}
.modal-submit{
  width:100%;background:var(--red);color:var(--white);
  border:none;padding:15px;border-radius:10px;
  font-family:'Sora',sans-serif;font-size:.95rem;font-weight:700;
  cursor:pointer;transition:background .2s,transform .15s;margin-top:6px;
  box-shadow:0 6px 20px rgba(192,57,43,.3);
}
.modal-submit:hover{background:var(--red2);transform:translateY(-2px)}

/* Formulários e inputs */
.form-card{
  background:var(--white);border-radius:22px;padding:42px 36px;
  box-shadow:0 32px 80px rgba(0,0,0,.35);
}
.form-card h3{font-family:'Sora',sans-serif;font-size:1.2rem;font-weight:700;color:var(--dark);margin-bottom:28px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fg{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.fg label{font-size:.78rem;font-weight:600;color:var(--dark);letter-spacing:.3px}
.fg input,.fg select,.fg textarea{
  border:1.5px solid var(--border);border-radius:9px;
  padding:12px 14px;font-family:'DM Sans',sans-serif;
  font-size:.88rem;color:var(--dark);outline:none;
  background:var(--white);transition:border-color .2s,box-shadow .2s;
}
.fg input:focus,.fg select:focus,.fg textarea:focus{
  border-color:var(--red);
  box-shadow:0 0 0 3px rgba(192,57,43,.1);
}
.fg textarea{resize:vertical;min-height:90px}
.form-submit{
  width:100%;background:var(--red);color:var(--white);
  border:none;padding:15px;border-radius:10px;
  font-family:'Sora',sans-serif;font-size:.97rem;font-weight:700;
  cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s;
  box-shadow:0 6px 20px rgba(192,57,43,.3);letter-spacing:.3px;
}
.form-submit:hover{background:var(--red2);transform:translateY(-2px);box-shadow:0 10px 28px rgba(192,57,43,.4)}
