/**
 * Contact Us (page 1358) — Figma / live parity
 * Hero bg is lazy-loaded on live Elementor; static mirror needs explicit image + layout fixes.
 */
@import url("https://fonts.googleapis.com/css2?family=Kumbh+Sans:wght@600&display=swap");

/* ── Hero banner ── */
.elementor-1358 .elementor-element-6f88699:not(.elementor-motion-effects-element-type-background),
.elementor-1358 .elementor-element-6f88699 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: #1a1a1a;
  background-image: url("/wp-content/uploads/2024/11/contact-us-hero-banner.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.elementor-1358 .elementor-element-6f88699 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 5.5rem 1.5rem 3rem !important;
  width: 100%;
}

.elementor-1358 .elementor-element-6f88699 > .elementor-container {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
}

.elementor-1358 .elementor-element-ac2971c .elementor-heading-title,
.elementor-1358 .elementor-element-ac2971c h1.elementor-heading-title {
  font-family: "Inter", sans-serif;
  font-size: clamp(2.5rem, 5vw, 5.3125rem);
  font-weight: 500;
  color: #fff !important;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.45) !important;
  line-height: 1.1;
}

/* ── Two-column main section ── */
.elementor-1358 .elementor-element-00957e7 {
  margin-top: 0 !important;
  margin-bottom: 5rem !important;
  padding: 3.5rem 1.5rem 0 !important;
}

.elementor-1358 .elementor-element-00957e7 > .elementor-container {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  align-items: flex-start;
  gap: 2.5rem;
}

.elementor-1358 .elementor-element-ed758c5 {
  flex: 0 0 33%;
  max-width: 33%;
}

.elementor-1358 .elementor-element-3969eb0 {
  flex: 0 0 66%;
  max-width: 66%;
}

/* CONTACTS heading */
.elementor-1358 .elementor-element-5abb76a .elementor-heading-title {
  font-family: "Kumbh Sans", "Roboto", sans-serif;
  font-size: 1.375rem;
  font-weight: 600;
  letter-spacing: 2.53px;
  text-transform: uppercase;
  color: #000;
}

/* Icon boxes */
.elementor-1358 .elementor-element-ac6c9fb .elementor-icon-box-wrapper,
.elementor-1358 .elementor-element-aeaea1e .elementor-icon-box-wrapper,
.elementor-1358 .elementor-element-9916854 .elementor-icon-box-wrapper,
.elementor-1358 .elementor-element-3c9b977 .elementor-icon-box-wrapper {
  align-items: flex-start;
  gap: 0.875rem;
}

.elementor-1358 .elementor-element-ac6c9fb .elementor-icon,
.elementor-1358 .elementor-element-aeaea1e .elementor-icon,
.elementor-1358 .elementor-element-9916854 .elementor-icon,
.elementor-1358 .elementor-element-3c9b977 .elementor-icon {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.elementor-1358 .elementor-element-ac6c9fb .elementor-icon i,
.elementor-1358 .elementor-element-aeaea1e .elementor-icon i,
.elementor-1358 .elementor-element-9916854 .elementor-icon i,
.elementor-1358 .elementor-element-3c9b977 .elementor-icon i {
  font-size: 0 !important;
  line-height: 0;
  width: 28px;
  height: 28px;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.elementor-1358 .elementor-element-ac6c9fb .elementor-icon i {
  background-image: url("/wp-content/uploads/figma-contact/mdi_phone-b4555d9c-5be3-4b21-867b-549559b7b7cd.png");
}

.elementor-1358 .elementor-element-aeaea1e .elementor-icon i {
  background-image: url("/wp-content/uploads/figma-contact/iconamoon_location-063086f0-b1f7-4dd6-9377-14152946c629.png");
}

.elementor-1358 .elementor-element-9916854 .elementor-icon i {
  background-image: url("/wp-content/uploads/figma-contact/clarity_email-line-3882bb61-e082-4fb8-b962-a997b0ef6409.png");
}

.elementor-1358 .elementor-element-3c9b977 .elementor-icon i {
  background-image: url("/wp-content/uploads/figma-contact/octicon_clock-16-d7797404-9989-4d92-bfb5-25e44323e0f4.png");
}

.elementor-1358 .elementor-element-ac6c9fb .elementor-icon-box-title,
.elementor-1358 .elementor-element-aeaea1e .elementor-icon-box-title,
.elementor-1358 .elementor-element-9916854 .elementor-icon-box-title,
.elementor-1358 .elementor-element-3c9b977 .elementor-icon-box-title,
.elementor-1358 .elementor-element-ac6c9fb .elementor-icon-box-title a,
.elementor-1358 .elementor-element-aeaea1e .elementor-icon-box-title a,
.elementor-1358 .elementor-element-9916854 .elementor-icon-box-title a {
  font-family: "Inter", sans-serif;
  font-size: 1.375rem;
  font-weight: 600;
  color: #000 !important;
}

.elementor-1358 .elementor-element-ac6c9fb .elementor-icon-box-description,
.elementor-1358 .elementor-element-aeaea1e .elementor-icon-box-description,
.elementor-1358 .elementor-element-9916854 .elementor-icon-box-description,
.elementor-1358 .elementor-element-3c9b977 .elementor-icon-box-description {
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.35;
  color: #000;
}

/* FOLLOW US + social */
.elementor-1358 .elementor-element-fed35c1 .elementor-heading-title {
  font-family: "Inter", sans-serif;
  font-size: 1.375rem;
  font-weight: 600;
  color: #000;
  margin-top: 1.25rem;
}

.elementor-1358 .elementor-element-31f3150 .elementor-social-icons-wrapper {
  gap: 0.75rem;
}

.elementor-1358 .elementor-element-31f3150 .elementor-social-icon {
  background: transparent !important;
  border: none !important;
  width: 32px;
  height: 32px;
}

.elementor-1358 .elementor-element-31f3150 .elementor-social-icon i {
  font-size: 0 !important;
  width: 24px;
  height: 24px;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.elementor-1358 .elementor-element-31f3150 .elementor-social-icon-linkedin i {
  background-image: url("/wp-content/uploads/figma-contact/basil_linkedin-solid-542a143b-32d5-4d4b-9756-ec4e636fc59d.png");
}

.elementor-1358 .elementor-element-31f3150 .elementor-social-icon-facebook i {
  background-image: url("/wp-content/uploads/figma-contact/gg_facebook-cbbf3c76-6c2f-4d80-b057-f6c210098604.png");
}

.elementor-1358 .elementor-element-31f3150 .elementor-social-icon-instagram i {
  background-image: url("/wp-content/uploads/figma-contact/tabler_brand-instagram-2178b8d2-4ce5-45a4-8d37-88e699e6ce32.png");
}

/* Form column */
.elementor-1358 .elementor-element-fdd6eb1 .elementor-heading-title {
  font-family: "Inter", sans-serif;
  font-size: clamp(2rem, 4vw, 4.0625rem);
  font-weight: 500;
  color: #000;
  line-height: 1.1;
}

.elementor-1358 .elementor-element-2e71554 {
  font-family: "Inter", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  color: #000;
  margin-bottom: 0.5rem;
}

/* ── Contact form (CF7) — single 2-col grid so row gap applies to both sides ── */
.elementor-1358 .row_r.contactpageform {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 20px;
  row-gap: 24px;
}

.elementor-1358 .row_r.contactpageform > .display_grid.two_column {
  display: contents;
}

.elementor-1358 .row_r.contactpageform > .label_r.mt20,
.elementor-1358 .row_r.contactpageform > .button_r {
  grid-column: 1 / -1;
}

.elementor-1358 .row_r.contactpageform > .label_r.mt20 {
  margin-top: 4px;
}

.elementor-1358 .row_r.contactpageform .label_r {
  display: block;
  margin: 0;
  min-width: 0;
}

.elementor-1358 .row_r.contactpageform .label_r.mt20 {
  margin-top: 0 !important;
}

.elementor-1358 .row_r.contactpageform .label_r > p {
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-1358 .row_r.contactpageform .label_r > p:has(label:empty) {
  display: none !important;
}

.elementor-1358 .contactpageform .c_label,
.elementor-1358 .row_r.contactpageform .c_label {
  margin-top: 15px !important;
  margin-bottom: 0;
  padding: 0;
}

.elementor-1358 .contactpageform .c_label p {
  font-family: "Inter", sans-serif;
  font-size: 18px;
  font-weight: 400;
  color: #000;
  margin: 0;
  line-height: 1.35;
}

.elementor-1358 .row_r.contactpageform .wpcf7-form-control-wrap {
  display: block;
  margin: 0 !important;
  width: 100%;
}

/* Reset theme / wp-custom stacking on contact inputs only */
.elementor-1358 .row_r.contactpageform .wpcf7 input[type="text"],
.elementor-1358 .row_r.contactpageform .wpcf7 input[type="email"],
.elementor-1358 .row_r.contactpageform .wpcf7 input[type="tel"],
.elementor-1358 .row_r.contactpageform .wpcf7 input[type="number"],
.elementor-1358 .row_r.contactpageform .wpcf7 select {
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  line-height: 42px !important;
  margin: 0 !important;
  padding: 0 12px 0 20px !important;
  border: 1px solid #dbdbdb !important;
  border-radius: 0;
  background: transparent !important;
  font-family: "Inter", sans-serif;
  font-size: 15px;
  box-sizing: border-box !important;
  box-shadow: none !important;
}

.elementor-1358 .row_r.contactpageform .wpcf7 textarea {
  width: 100% !important;
  min-height: 110px !important;
  height: 110px !important;
  max-height: none !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  padding: 12px 20px !important;
  border: 1px solid #dbdbdb !important;
  border-radius: 0;
  background: transparent !important;
  font-family: "Inter", sans-serif;
  font-size: 15px;
  box-sizing: border-box !important;
  resize: vertical;
}

.elementor-1358 .row_r.contactpageform .wpcf7 input.wpcf7-form-control.inside_label:not(.wpcf7-phonetext):not(.wpcf7-validates-as-phonetext) {
  padding-left: 20px !important;
}

.elementor-1358 .row_r.contactpageform textarea.wpcf7-form-control.inside_label {
  padding: 12px 20px !important;
  line-height: 1.45 !important;
}

/* Phone — one field; kill post-1358 margin-top:7px misalignment */
.elementor-1358 .row_r.contactpageform .intl-tel-input.separate-dial-code,
.elementor-1358 .row_r.contactpageform .iti--separate-dial-code {
  width: 100% !important;
  height: 42px !important;
  display: block;
  border: none !important;
  background: transparent;
}

.elementor-1358 .row_r.contactpageform .intl-tel-input.separate-dial-code .flag-container,
.elementor-1358 .row_r.contactpageform .iti--separate-dial-code .iti__flag-container {
  height: 42px !important;
}

.elementor-1358 .row_r.contactpageform .intl-tel-input.separate-dial-code .selected-flag,
.elementor-1358 .row_r.contactpageform .iti--separate-dial-code .iti__selected-flag {
  height: 42px !important;
  display: flex;
  align-items: center;
  background: transparent !important;
  border-right: 1px solid #dbdbdb;
}

.elementor-1358 .row_r.contactpageform .intl-tel-input.separate-dial-code .selected-dial-code,
.elementor-1358 .row_r.contactpageform .iti--separate-dial-code .iti__selected-dial-code {
  padding-left: 24px !important;
  font-size: 15px !important;
  line-height: 1 !important;
}

.elementor-1358 .row_r.contactpageform input.wpcf7-phonetext,
.elementor-1358 .row_r.contactpageform input.wpcf7-form-control.wpcf7-text.wpcf7-phonetext,
.elementor-1358 .row_r.contactpageform .intl-tel-input.separate-dial-code input,
.elementor-1358 .row_r.contactpageform .iti--separate-dial-code input {
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  line-height: 42px !important;
  margin: 0 !important;
  margin-top: 0 !important;
  padding: 0 12px 0 110px !important;
  border: 1px solid #dbdbdb !important;
  background: transparent !important;
  font-size: 15px !important;
  box-sizing: border-box !important;
}

.elementor-1358 .row_r.contactpageform .submit-btn {
  text-align: right;
  margin-top: 10px;
}

.elementor-1358 .row_r.contactpageform .button_r {
  margin-top: 0;
}

.elementor-1358 .row_r.contactpageform .submit-btn > p {
  margin: 0 !important;
}

.elementor-1358 .row_r.contactpageform .submit-btn button#submit,
.elementor-1358 .row_r.contactpageform input[type="submit"] {
  background: #000 !important;
  color: #fff !important;
  width: 334px;
  max-width: 100%;
  height: auto;
  min-height: 0 !important;
  line-height: 1.2 !important;
  padding: 15px 20px;
  margin-top: 30px;
  border: none;
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
}

@media (max-width: 767px) {
  .elementor-1358 .elementor-element-6f88699 {
    padding: 4.5rem 1rem 2.5rem !important;
  }

  .elementor-1358 .elementor-element-ac2971c {
    text-align: center;
  }

  .elementor-1358 .elementor-element-ed758c5,
  .elementor-1358 .elementor-element-3969eb0 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .elementor-1358 .elementor-element-00957e7 {
    padding-top: 2rem !important;
  }

  .elementor-1358 .elementor-element-5abb76a,
  .elementor-1358 .elementor-element-fed35c1 {
    text-align: center;
  }

  .elementor-1358 .elementor-element-31f3150 .elementor-widget-container {
    text-align: center;
  }

  .elementor-1358 .row_r.contactpageform .display_grid.two_column {
    grid-template-columns: 1fr;
  }

  .elementor-1358 .row_r.contactpageform .submit-btn {
    text-align: center;
  }
}
