/* Enquiry form and popup — matches the Peepal Tech Solutions design. */
.peepal-enquiry-form {
  --pe-white: var(--wp--preset--color--white, #fffcf8);
  --pe-paper: var(--wp--preset--color--paper, #f7f4ef);
  --pe-ink: var(--wp--preset--color--ink, #353635);
  --pe-charcoal: var(--wp--preset--color--charcoal, #303840);
  --pe-navy: var(--wp--preset--color--navy, #173a60);
  --pe-line: rgba(48, 56, 64, 0.16);
  --pe-line-strong: rgba(48, 56, 64, 0.28);
  background: var(--pe-white);
  border: 1px solid var(--pe-line);
  padding: 28px;
  display: grid;
  gap: 14px;
  align-content: start;
  margin: 0;
  position: relative;
}
.contact-grid .peepal-enquiry-form { height: 100%; }
.peepal-enquiry-form .fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.peepal-enquiry-form label { display: grid; gap: 6px; font-size: 13px; font-weight: 700; color: var(--pe-charcoal); line-height: 1.65; }
.peepal-enquiry-form label.full { grid-column: 1 / -1; }
.peepal-enquiry-form input,
.peepal-enquiry-form select,
.peepal-enquiry-form textarea {
  width: 100%;
  margin: 0;
  border: 1px solid var(--pe-line-strong);
  background: var(--pe-white);
  color: var(--pe-ink);
  padding: 12px 12px;
  font-family: inherit;
  font-size: 16px;
  line-height: normal;
  border-radius: 0;
}
.peepal-enquiry-form textarea { min-height: 120px; resize: vertical; }
.peepal-enquiry-form [aria-invalid="true"] { border-color: #8d2a12; }
.peepal-enquiry-form .field-error { color: #8d2a12; font-weight: 650; font-size: 12.5px; }
.peepal-enquiry-form .field-error[hidden] { display: none; }
.peepal-enquiry-form .consent { display: flex; gap: 10px; align-items: flex-start; font-weight: 550; font-size: 14.5px; }
.peepal-enquiry-form .consent input { width: 18px; height: 18px; margin-top: 3px; padding: 0; flex: none; }
.peepal-enquiry-form .consent a { color: var(--pe-navy); text-decoration: underline; }
.peepal-enquiry-form .hp { position: absolute; left: -9999px; height: 0; overflow: hidden; }
.peepal-enquiry-form .form-status { margin: 0; font-size: 15px; line-height: 1.65; }
.peepal-enquiry-form .form-status.error { color: #8d2a12; }
.peepal-enquiry-form .form-status.ok { color: var(--pe-navy); }
.peepal-enquiry-form .submit { justify-self: start; min-width: 180px; }
.peepal-enquiry-form .submit[disabled] { opacity: 0.7; cursor: progress; }

/* Popup */
.modal-back {
  position: fixed;
  inset: 0;
  z-index: 99990;
  background: rgba(16, 24, 32, 0.55);
  display: grid;
  place-items: center;
  padding: 20px;
}
.modal-back[hidden] { display: none; }
.modal {
  width: min(860px, 100%);
  max-height: calc(100dvh - 24px);
  overflow: hidden;
  background: var(--wp--preset--color--paper, #f7f4ef);
  padding: 16px 20px 14px;
  position: relative;
  font-size: 17px;
  line-height: 1.65;
}
.modal h2 { font-size: 1.45rem; line-height: 1.12; margin: 0 72px 2px 0; }
.modal > p { margin: 0 0 10px; color: var(--wp--preset--color--charcoal, #303840); font-size: 14px; line-height: 1.4; }
.modal .peepal-enquiry-form { padding: 12px 14px; gap: 8px; }
.modal .peepal-enquiry-form .fields { grid-template-columns: 1fr 1fr 1fr; gap: 8px 12px; }
.modal .peepal-enquiry-form label { gap: 3px; font-size: 12px; }
.modal .peepal-enquiry-form input,
.modal .peepal-enquiry-form select,
.modal .peepal-enquiry-form textarea { padding: 7px 10px; font-size: 14px; }
.modal .peepal-enquiry-form textarea { min-height: 52px; resize: none; }
.modal .peepal-enquiry-form .consent { font-size: 13px; }
.modal .peepal-enquiry-form .consent input { padding: 0; }
.modal .peepal-enquiry-form .submit { min-height: 40px; }
.modal .peepal-enquiry-form .form-status:empty { display: none; }
.modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  border: 1px solid rgba(48, 56, 64, 0.28);
  background: var(--wp--preset--color--white, #fffcf8);
  min-height: 40px;
  padding: 0 12px;
  font-family: inherit;
  font-size: 13.333px;
  font-weight: 700;
  color: inherit;
  cursor: pointer;
}
body.peepal-modal-open { overflow: hidden; }

@media (max-width: 700px) {
  .peepal-enquiry-form { padding: 18px; }
  .peepal-enquiry-form .fields { grid-template-columns: 1fr; }
  .modal { padding: 12px; }
  .modal .peepal-enquiry-form .fields { grid-template-columns: 1fr 1fr; }
  .modal .peepal-enquiry-form textarea { min-height: 44px; }
}
