/* ==========================================================================
   SIL-VEX ENGINEERING — contact.css  (contact.html only)
   ========================================================================== */

.contact-section{ background: var(--bg); }
.contact-grid{
  display:grid; grid-template-columns: 1.3fr .9fr; gap: 40px; align-items:start;
}
.contact-form{
  background: var(--paper); border:1px solid var(--line);
  padding: clamp(28px, 4vw, 44px);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  position:relative;
}
.contact-form::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background: linear-gradient(90deg, var(--red-2), var(--red));
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}
.form-head{ margin-bottom: 26px; }
.form-head h2{ font-size:1.6rem; margin-top:.35em; }
.field-row{ display:grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.field{ margin-bottom: 18px; display:flex; flex-direction:column; gap:7px; }
.field label{
  font-family: var(--font-mono); font-size:.68rem; letter-spacing:.1em;
  text-transform:uppercase; color: var(--steel-soft);
}
.field input, .field select, .field textarea{
  font-family: var(--font-body); font-size:.94rem;
  padding: .8em .95em; border:1px solid var(--line); border-radius: var(--radius);
  background: var(--bg); color: var(--ink); width:100%;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none; border-color: var(--navy); background: #fff;
  box-shadow: 0 0 0 3px rgba(11,59,92,.12);
}
.field.invalid input, .field.invalid textarea{ border-color: var(--red); box-shadow: 0 0 0 3px rgba(195,49,31,.12); }
.form-note{ margin-top:14px; font-size:.68rem; letter-spacing:.03em; color: var(--steel-soft); }
.form-note.success{ color: #1B7A43; }

@media (max-width: 640px){ .field-row{ grid-template-columns:1fr; } }

/* --------------------------------------------------------------- side --- */
.contact-side{ display:flex; flex-direction:column; gap: 16px; }
.side-block{
  display:flex; gap:16px; align-items:flex-start;
  background: var(--paper); border:1px solid var(--line);
  border-radius: var(--radius-lg); padding: 20px 22px;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.side-block:hover{ transform: translateX(4px); box-shadow: var(--shadow-sm); border-color: rgba(11,59,92,.25); }
.side-ico{
  flex:none; width:38px; height:38px; border-radius: var(--radius);
  background: linear-gradient(135deg, var(--navy-2), var(--navy-deep));
  color:#fff; font-size:1rem; line-height:1;
  display:flex; align-items:center; justify-content:center;
  box-shadow: var(--shadow-sm);
}
.side-block h3{ font-size:.82rem; letter-spacing:.12em; margin-bottom:.45em; }
.side-block p{ font-size:.9rem; margin:0 0 .25em; }
.side-block a{ color: var(--navy); border-bottom:1px dashed var(--silver); transition: color .15s ease, border-color .15s ease; }
.side-block a:hover{ color: var(--red); border-color: var(--red); }

.map-frame{
  position:relative; aspect-ratio: 16/9; overflow:hidden;
  background: var(--navy-deep); border-radius: var(--radius-lg);
  border:1px solid var(--line);
  box-shadow: var(--shadow-sm);
}
.map-pin{
  position:absolute; right:12px; top:12px;
  color:#fff; font-size:.62rem; letter-spacing:.12em;
  padding: .55em .95em; border:1px solid rgba(255,255,255,.35); border-radius:2px;
  background: rgba(6,28,44,.85); backdrop-filter: blur(4px);
  pointer-events:none;
}

.wa-card{
  display:flex; align-items:center; gap:16px;
  background: linear-gradient(135deg, #1DA851, #128C4A);
  color:#fff; border-radius: var(--radius-lg);
  padding: 18px 22px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.wa-card:hover{ transform: translateY(-3px); box-shadow: 0 16px 34px -16px rgba(18,140,74,.7); }
.wa-card-ico{
  flex:none; width:44px; height:44px; border-radius:50%;
  background: rgba(255,255,255,.16);
  display:flex; align-items:center; justify-content:center;
}
.wa-card-ico svg{ width:24px; height:24px; fill:#fff; }
.wa-card b{ display:block; font-family: var(--font-display); text-transform:uppercase; letter-spacing:.05em; font-size:1rem; margin-bottom:2px; }
.wa-card .mono{ font-size:.66rem; letter-spacing:.06em; color: rgba(255,255,255,.85); }

@media (max-width: 900px){ .contact-grid{ grid-template-columns:1fr; } }
