/* ===== FORMULARIO CONTACTO ===== */
.contacto-wrap{
  background:
    radial-gradient(900px 400px at 90% -10%, rgba(245,124,0,.08), transparent 50%),
    radial-gradient(900px 400px at -10% 110%, rgba(245,124,0,.08), transparent 55%),
    var(--page);
  padding:40px 16px;
}
.form-container{
  max-width:880px; margin:0 auto; background:var(--surface);
  border:1px solid var(--ui-border); border-radius:18px; box-shadow:0 10px 30px rgba(0,0,0,.06);
  overflow:hidden;
}
.form-head{
  padding:28px 28px 16px; border-bottom:1px solid var(--ui-border);
  background:linear-gradient(0deg, rgba(245,124,0,.05), rgba(245,124,0,.05)), var(--surface);
}
.titulo-contacto{ margin:0; font:700 1.6rem/1.2 "Inter", system-ui, sans-serif; color:var(--ui-ink); }
.sub{ margin:6px 0 0; color:var(--ui-soft); font-size:.98rem; }

form{ padding:24px 28px 28px; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.form-group{ display:flex; flex-direction:column; gap:8px; }
label{ font-weight:600; color:var(--ui-ink); font-size:.95rem; }

input[type="text"], input[type="email"], textarea{
  width:100%; border:1px solid rgba(0,0,0,.08); border-radius:12px; padding:13px 15px; font-size:1rem;
  color:var(--ui-ink); background:#fafafa; transition:all .25s ease; box-shadow:inset 0 1px 2px rgba(0,0,0,0.04);
}
input[type="text"]:hover, input[type="email"]:hover, textarea:hover{
  background:#fff; border-color:rgba(245,124,0,.4); box-shadow:0 0 0 3px rgba(245,124,0,.05);
}
input:focus, textarea:focus{
  outline:none; border-color:var(--orange); background:#fffdfb; box-shadow:0 0 0 4px var(--focus);
}
input::placeholder, textarea::placeholder{ color:#a0a7ad; }
textarea{ resize:vertical; min-height:140px; }

.check{ margin-top:10px; }
.check-label{ display:inline-flex; align-items:center; gap:10px; color:var(--ui-soft); cursor:pointer; }
.check-label a{ color:var(--orange-2); text-decoration:none; border-bottom:1px dashed rgba(232,110,0,.4); }
.check-label a:hover{ color:var(--orange); }
.check-label input{ position:relative; accent-color:var(--orange); transform:scale(1.2); }

.form-button{
  margin-top:14px; width:100%; border:none; border-radius:12px; padding:14px 18px;
  font-weight:700; letter-spacing:.2px; color:#fff;
  background:linear-gradient(180deg, var(--orange), var(--orange-2));
  box-shadow:0 8px 18px rgba(232,110,0,.25); cursor:pointer; transition:all .2s;
}
.form-button:hover{ filter:brightness(1.05); box-shadow:0 10px 22px rgba(232,110,0,.32); }
.form-button:active{ transform:translateY(1px); }

@media (max-width:768px){
  .form-row{ grid-template-columns:1fr; }
  .form-head, form{ padding:20px; }
}
