/* Contact page: form + info + full-width map (Dixel blue theme) */

.dx-contact-section,
.dx-contact-section *,
.dx-contact-section *::before,
.dx-contact-section *::after{box-sizing:border-box}

.dx-contact-section{padding:90px 0;background:#fff}
.dx-contact-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:64px;align-items:start}

.dx-contact-section .dx-eyebrow{display:block;margin-bottom:12px;font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#1e4c9e}
.dx-contact-section .dx-contact-title{margin:0 0 30px;font-size:clamp(30px,3.4vw,44px);line-height:1.15;font-weight:700;color:#081426}
.dx-contact-section .dx-contact-lead{margin:-10px 0 30px;font-size:16.5px;line-height:1.8;color:#5a6475}

/* ---------- form ---------- */
.dx-form-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.dx-field{display:flex;flex-direction:column}
.dx-contact-section .dx-field label{display:block;margin:0 0 8px;font-size:15px;font-weight:600;line-height:1.3;color:#081426}
.dx-contact-section .dx-req{color:#e02424;font-weight:700;margin-left:2px}
.dx-field.full{grid-column:1 / -1}

.dx-contact-section .dx-field input,
.dx-contact-section .dx-field select,
.dx-contact-section .dx-field textarea{
  width:100%;margin:0;padding:16px 20px;
  border:1px solid #e3e8f0;border-radius:10px;background:#f4f7fb;
  font-family:inherit;font-size:16px;line-height:1.4;color:#081426;
  outline:0;box-shadow:none;
  transition:border-color .25s,background .25s,box-shadow .25s;
}
.dx-contact-section .dx-field input::placeholder,
.dx-contact-section .dx-field textarea::placeholder{color:#7b8596;opacity:1}
.dx-contact-section .dx-field input:focus,
.dx-contact-section .dx-field select:focus,
.dx-contact-section .dx-field textarea:focus{
  background:#fff;border-color:#1f55e5;box-shadow:0 0 0 4px rgba(31,85,229,.12);
}
.dx-contact-section .dx-field textarea{min-height:160px;resize:vertical}

.dx-contact-section .dx-field select{
  -webkit-appearance:none;appearance:none;cursor:pointer;padding-right:48px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23081426' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 18px center;background-size:18px;
}
.dx-contact-section .dx-field select:invalid{color:#7b8596}
.dx-contact-section .dx-field select option{color:#081426}

/* hidden spam trap */
.dx-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}

.dx-submit{margin-top:24px}
.dx-submit .tj-primary-btn{cursor:pointer}
.dx-submit .tj-primary-btn:disabled{opacity:.7;cursor:progress}

/* success / error message below the button */
.dx-form-status{margin:18px 0 0;padding:14px 18px;border-radius:10px;font-size:16px;font-weight:600;line-height:1.5}
.dx-form-status:empty{display:none}
.dx-form-status.success{color:#127a3d;background:#e8f6ee;border:1px solid #b8e2c8}
.dx-form-status.error{color:#b42318;background:#fdecea;border:1px solid #f5c2bd}

/* ---------- info column ---------- */
.dx-info-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.dx-info-item{display:flex;align-items:center;gap:18px;padding:18px 20px;background:#f7f9fc;border:1px solid #d5dce8;border-radius:14px;transition:.3s}
.dx-info-item:hover{border-color:#1f55e5;box-shadow:0 10px 26px rgba(31,85,229,.12);transform:translateY(-2px)}
.dx-info-icon{flex:0 0 56px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#1e4c9e;color:#fff}
.dx-info-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dx-info-item strong{display:block;margin-bottom:2px;font-size:17px;font-weight:700;color:#081426}
.dx-info-item a,
.dx-info-item .dx-info-val{font-size:15.5px;line-height:1.6;color:#5a6475;word-break:break-word}
.dx-info-item a:hover{color:#1f55e5}

/* ---------- full-width map ---------- */
.dx-map{line-height:0;background:#e9eff9}
.dx-map iframe{display:block;width:100%;height:460px;border:0}

/* ---------- responsive ---------- */
@media (max-width:991px){
  .dx-contact-section{padding:70px 0}
  .dx-contact-grid{grid-template-columns:1fr;gap:50px}
  .dx-map iframe{height:380px}
}
@media (max-width:575px){
  .dx-form-grid{grid-template-columns:1fr}
  .dx-info-item{padding:16px}
  .dx-info-icon{flex-basis:48px;width:48px;height:48px}
  .dx-map iframe{height:320px}
}