/* =============================================================
   TechVistaar — Forms
   Shared by the Contact page and the Software Inquiry page — both
   use the same two-column layout (form + summary sidebar), so it
   lives here once instead of being duplicated in two page files.
============================================================= */

.contact-layout{ display:grid; grid-template-columns:1.35fr 1fr; gap:32px; align-items:start; padding-bottom:90px; }
@media (max-width:960px){ .contact-layout{ grid-template-columns:1fr; } }

.form-card{ background:var(--panel); border:1px solid var(--line); border-radius:20px; padding:44px; }
@media (max-width:640px){ .form-card{ padding:28px 22px; } }
.form-card h2{ font-size:22px; margin-bottom:6px; }
.form-card .sub{ color:var(--slate); font-size:14.5px; margin-bottom:30px; }

.search-filter-bar{ display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.search-filter-bar input[type="text"], .search-filter-bar select{
  border:1px solid var(--line); border-radius:10px; padding:11px 14px;
  font-family:'Inter'; font-size:14px; background:var(--panel); color:var(--ink);
}

.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px; }
@media (max-width:560px){ .form-row{ grid-template-columns:1fr; gap:18px; } }
.field{ display:flex; flex-direction:column; gap:8px; margin-bottom:18px; }
.field label{ font-size:13px; font-weight:600; color:var(--ink); }
.field .req{ color:var(--amber); }
.field input, .field select, .field textarea{
  border:1px solid var(--line); border-radius:10px; padding:12px 14px;
  font-family:'Inter'; font-size:14.5px; background:var(--paper); color:var(--ink);
  outline:none; transition:border-color .18s ease, box-shadow .18s ease;
  width:100%;
}
.field input:focus, .field select:focus, .field textarea:focus{
  border-color:var(--amber); box-shadow:0 0 0 3px rgba(232,154,44,0.14);
}
.field textarea{ resize:vertical; min-height:130px; font-family:'Inter'; }
.field select{ cursor:pointer; }

.submit-row{ display:flex; align-items:center; gap:16px; margin-top:6px; flex-wrap:wrap; }
.submit-note{ font-size:12.5px; color:var(--slate); }

.success-state{ display:none; text-align:center; padding:50px 10px; }
.success-state.show{ display:block; }
.success-state .check{
  width:56px; height:56px; border-radius:50%; background:var(--teal-tint);
  display:flex; align-items:center; justify-content:center; margin:0 auto 20px;
}
.success-state h3{ font-size:20px; margin-bottom:8px; }
.success-state p{ color:var(--slate); font-size:14.5px; max-width:340px; margin:0 auto 22px; }

/* Sidebar shared by Contact + Inquiry */
.sidebar{ display:flex; flex-direction:column; gap:20px; }

.selection-card{ background:var(--panel); border:1px solid var(--line); border-radius:18px; padding:28px; }
.selection-card .sel-eyebrow{ font-size:11.5px; color:var(--slate); margin-bottom:16px; display:block; }
.sel-product{ display:flex; gap:14px; align-items:flex-start; }
.sel-badge{
  width:52px; height:52px; border-radius:13px; flex:none; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  font-family:'Space Grotesk'; font-weight:700; font-size:17px; color:var(--panel);
}
.sel-badge img{ width:100%; height:100%; object-fit:cover; }
.sel-product h3{ font-size:17px; margin-bottom:4px; }
.sel-product .cat{ font-size:12.5px; color:var(--slate); display:block; }
.sel-price{
  font-family:'IBM Plex Mono'; font-size:15px; margin-top:18px;
  padding-top:16px; border-top:1px solid var(--line);
}
.sel-price span{ display:block; font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--slate); margin-bottom:4px; }

.general-sel .gen-icon{
  width:44px; height:44px; border-radius:12px; background:var(--teal-tint);
  display:flex; align-items:center; justify-content:center; margin-bottom:16px;
}
.general-sel h3{ font-size:17px; margin-bottom:8px; }
.general-sel p{ font-size:14px; color:var(--slate); }

.info-card{ background:var(--panel-2); border:1px solid var(--line); border-radius:18px; padding:26px; }
.info-row{ display:flex; gap:12px; align-items:flex-start; margin-bottom:18px; }
.info-row:last-child{ margin-bottom:0; }
.info-row .ic{
  width:34px; height:34px; border-radius:9px; background:var(--panel);
  border:1px solid var(--line); display:flex; align-items:center; justify-content:center; flex:none;
}
.info-row b{ display:block; font-size:14px; }
.info-row span{ font-size:13px; color:var(--slate); }

.trust-card{
  background:var(--amber-tint); border:1px solid rgba(232,154,44,0.35);
  border-radius:18px; padding:24px; display:flex; justify-content:space-between; gap:10px;
}
.trust-card div{ text-align:center; flex:1; }
.trust-card b{ display:block; font-family:'Space Grotesk'; font-size:19px; color:var(--amber-ink); }
.trust-card span{ font-size:11px; color:var(--amber-ink); opacity:.8; }
