.nx-contact { padding: 48px 0; }
.nx-contact-hero { text-align: center; margin-bottom: 28px; }
.nx-contact-hero h1 { margin: 0 0 8px; }
.nx-contact-hero p { margin: 0; opacity: 0.85; }

.nx-contact-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

@media (min-width: 920px) {
  .nx-contact-grid { grid-template-columns: 1.2fr 0.8fr; }
}

.nx-card {
  background: #0f172a0a;
  border: 1px solid #00000014;
  border-radius: 14px;
  padding: 18px;
}

.nx-form label { display: block; margin: 12px 0; }
.nx-form span { color: #ef4444; }

.nx-form input,
.nx-form select,
.nx-form textarea {
  width: 100%;
  margin-top: 6px;
  padding: 10px 12px;
  border: 1px solid #00000020;
  border-radius: 10px;
  background: #fff;
}

.nx-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 10px;
  border: 0;
  cursor: pointer;
  text-decoration: none;
}

.nx-btn-telegram { margin-top: 6px; }

.nx-alert {
  padding: 10px 12px;
  border-radius: 10px;
  margin: 12px 0;
}

.nx-alert-success { background: #22c55e1a; border: 1px solid #22c55e33; }
.nx-alert-error { background: #ef44441a; border: 1px solid #ef444433; }

.nx-note { margin-top: 12px; opacity: 0.85; font-size: 14px; }

.nx-hp { position: absolute; left: -9999px; height: 1px; width: 1px; opacity: 0; }

/* =========================================================
   CONTACT: Astra layout fix (NOT full width)
   - Removes sidebar spacing
   - Keeps page centered in a normal container
   ========================================================= */

/* Keep Astra container centered (prevents full-width stretch) */
body.page-template-page-contact .site-content .ast-container {
  display: block !important;
  max-width: 1200px !important;   /* <- controls overall page width */
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}

/* Remove sidebar column layout */
body.page-template-page-contact #secondary {
  display: none !important;
}

body.page-template-page-contact #primary,
body.page-template-page-contact .content-area,
body.page-template-page-contact .site-main {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}

/* Make sure our custom container doesn't double-constrain */
body.page-template-page-contact .nx-contact .nx-container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* Keep NexDesk header/footer nicely centered */
body.page-template-page-contact .nx-header .nx-container,
body.page-template-page-contact .nx-footer .nx-container {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}
/* Telegram button */
.nx-btn-telegram{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-radius: 12px;
  background: #229ED9;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 600;
}

.nx-btn-telegram:hover{
  opacity: 0.92;
}

.nx-btn-telegram .nx-ico{
  width: 18px;
  height: 18px;
  fill: currentColor;
  flex: 0 0 auto;
}
