/* Contact-specific details; shared page layout lives in lsc-support.css. */
.lsc-contact-page .lsc-support-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 500px); }
#lsc-contact-form-title { scroll-margin-top: 96px; }
.lsc-contact-tip { display: flex; align-items: start; gap: 16px; margin: 32px 0 18px; padding-top: 24px; border-top: 1px solid #dedbd1; }
.lsc-contact-page .lsc-contact-tip p { margin: 0; color: #163449; font: 600 16px/1.5 'Barlow', sans-serif; }
.lsc-contact-tip p span { display: inline-block; margin-top: 4px; color: #536773; font-weight: 400; }
.lsc-contact-page .lsc-support-form-panel { padding: 32px; }
/* Keep Elementor's form widget in its original document context, reset its old layout. */
.lsc-contact-form .elementor-section,
.lsc-contact-form .elementor-container,
.lsc-contact-form .elementor-column,
.lsc-contact-form .elementor-widget-wrap,
.lsc-contact-form .elementor-widget-form,
.lsc-contact-form .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
}
.lsc-contact-form .elementor-widget-heading { display: none; }
.lsc-contact-form .elementor-form-fields-wrapper { margin: 0; gap: 20px; }
.lsc-contact-form .elementor-field-group { width: 100%; padding: 0; margin: 0; }
.lsc-contact-form .elementor-field-type-recaptcha_v3 { margin: 0; }
.lsc-contact-form .elementor-field-group .lsc-contact-label { display: block; width: 100%; margin: 0 0 8px; padding: 0; color: #163449; font: 600 15px/1.5 'Barlow', sans-serif; }
.lsc-contact-label span { margin-left: 4px; color: #697983; font-weight: 400; }
.lsc-contact-form .elementor-field-textual {
  width: 100%;
  min-height: 52px;
  padding: 12px 14px;
  border: 1px solid #cccfcf;
  border-radius: 8px;
  background: #fdfcf8;
  color: #163449;
  font: 400 16px/1.5 'Barlow', sans-serif;
  box-shadow: none;
}
.lsc-contact-form .elementor-field-textual::placeholder { color: #78848b; opacity: 1; }
.lsc-contact-form textarea.elementor-field-textual { min-height: 160px; resize: vertical; }
.lsc-contact-form .elementor-field-textual:focus { border-color: #9a731b; outline: 3px solid rgb(217 166 41 / 22%); outline-offset: 2px; }
.lsc-contact-form .elementor-field-type-submit { margin-top: 0; }
.lsc-contact-form .elementor-button {
  width: 100%;
  min-height: 52px;
  padding: 14px 22px;
  border: 1px solid #163449;
  border-radius: 8px;
  background: #163449;
  color: #fff;
  font: 600 16px/1.4 'Barlow', sans-serif;
  text-transform: none;
  letter-spacing: .01em;
  box-shadow: none;
}
.lsc-contact-form .elementor-button-text > span { margin-left: 14px; }
.lsc-contact-form .elementor-button:hover { background: #244a64; border-color: #244a64; color: #fff; }
.lsc-contact-form .elementor-button:focus-visible { outline: 3px solid #b37d00; outline-offset: 4px; }
.lsc-contact-form .elementor-message { margin: 20px 0 0; padding: 14px; border-radius: 8px; font: 500 16px/1.5 'Barlow', sans-serif; }
.lsc-contact-form .elementor-message-success { background: #eef6f0; color: #236345; }
.lsc-contact-form .elementor-message-danger { background: #fff1ef; color: #912e24; }
.lsc-contact-page .lsc-contact-details { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1000px) {
  .lsc-contact-page .lsc-support-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 425px); }
  .lsc-contact-page .lsc-support-form-panel { padding: 28px; }
}
@media (max-width: 767.98px) {
  .lsc-contact-page .lsc-support-layout { grid-template-columns: minmax(0, 1fr); }
  .lsc-contact-page .lsc-support-form-panel { padding: 24px 20px; }
  .lsc-contact-page .lsc-support-form-heading { padding: 0; }
  .lsc-contact-tip { margin: 22px 0 4px; padding-top: 20px; gap: 12px; }
  .lsc-contact-page .lsc-contact-details { grid-template-columns: 1fr; }
}
