/* Hero */
.nc-contact-phone-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: var(--blue-light);
  border: 1px solid var(--blue-mid);
	background: var(--blue-dark);
  padding: 7px 16px;
  border-radius: 999px;
  transition: border-color 0.15s, color 0.15s;
}
.nc-contact-phone-link:hover { border-color: var(--blue-light); color: var(--blue-pale); }

/* Section layout */
.nc-contact-section {
  background: rgb(48 48 46);
  padding: 48px 0 64px;
  min-height: 60vh;
}
.nc-contact-wrap {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 40px;
  align-items: start;
}

/* Form */
.nc-form-row { display: flex; gap: 16px; }
.nc-form-row--half > * { flex: 1; }

.nc-form-group {
  display: flex;
  flex-direction: column;
  margin-bottom: 18px;
  position: relative;
}
.nc-form-group label {
  font-size: 13px;
  font-weight: 500;
  color: rgb(194 192 182);
  margin-bottom: 6px;
}
.nc-req { color: var(--blue); }

.nc-form-group input,
.nc-form-group textarea {
  background: rgb(38 38 36);
  border: 1px solid var(--blue-mid);
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 14px;
  color: rgb(250 249 245);
  font-family: inherit;
  line-height: 1.5;
  transition: border-color 0.15s, box-shadow 0.15s;
  outline: none;
  width: 100%;
}
.nc-form-group input::placeholder,
.nc-form-group textarea::placeholder { color: rgb(100 98 90); }

.nc-form-group input:focus,
.nc-form-group textarea:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(55, 138, 221, 0.15);
}
.nc-form-group textarea { resize: vertical; min-height: 140px; }

/* Character count */
.nc-char-count {
  font-size: 11px;
  color: rgb(100 98 90);
  text-align: right;
  margin-top: 4px;
}

/* Honeypot */
.nc-honey {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.nc-form-footer { display: flex; align-items: center; gap: 16px; margin-top: 4px; }

.nc-submit-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--blue);
  color: var(--blue-pale);
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 500;
  border: none;
  cursor: pointer;
  transition: background 0.15s;
  font-family: inherit;
}
.nc-submit-btn:hover { background: var(--blue-mid); }
.nc-submit-btn:disabled { opacity: 0.6; cursor: not-allowed; }
.nc-submit-btn i { font-size: 18px; }

/* Status messages */
.nc-form-status {
  margin-top: 16px;
  font-size: 14px;
  padding: 0;
  border-radius: 8px;
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s ease, padding 0.2s;
}
.nc-form-status.nc-status--show { max-height: 200px; padding: 12px 16px; }
.nc-form-status.nc-status--ok   { background: #1a3a1a; color: #6fcf97; border: 1px solid #2d6a2d; }
.nc-form-status.nc-status--err  { background: #3a1a1a; color: #eb5757; border: 1px solid #6a2d2d; }

/* Sidebar */
.nc-sidebar-card {
  background: rgb(38 38 36);
  border: 1px solid var(--blue-mid);
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 14px;
}
.nc-sidebar-icon {
  font-size: 24px;
  color: var(--blue);
  margin-bottom: 10px;
}
.nc-sidebar-card h3 {
  font-size: 15px;
  font-weight: 500;
  color: rgb(250 249 245);
  margin-bottom: 8px;
}
.nc-sidebar-card p {
  font-size: 13px;
  color: rgb(156 154 146);
  line-height: 1.6;
  margin-bottom: 12px;
}
.nc-sidebar-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: var(--blue-light);
}
.nc-sidebar-link:hover { color: var(--blue-pale); }

.nc-sidebar-card--muted { border-style: dashed; }
.nc-sidebar-note {
  font-size: 13px !important;
  color: rgb(120 118 110) !important;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 0 !important;
}
.nc-sidebar-note i { margin-top: 3px; flex-shrink: 0; }

/* Responsive */
@media (max-width: 720px) {
  .nc-contact-wrap { grid-template-columns: 1fr; }
  .nc-contact-sidebar { order: -1; }
  .nc-sidebar-card:last-child { display: none; }
}
@media (max-width: 500px) {
  .nc-form-row--half { flex-direction: column; gap: 0; }
}
