/* =========================================================================
   CONTACT PAGE — LARGE DESKTOP HERO OVERRIDES (paste at end of contactUs.css)
   Mirrors homepage hero scaling and uses variables from variables.css
   ========================================================================= */

/* ---------- 1600px — 1919px ---------- */
@media (min-width: 1600px) and (max-width: 1919px) {

  /* Keep consistent section padding across site */
  .contactUs-hero {
    padding: var(--section-padding-y) var(--section-padding-x) !important;
    gap: clamp(1rem, 2vw, 3rem) !important;
    align-items: center !important;
  }


  /* Title / typography — use your hero variables */
  .contactUs-hero__title h1 {
    max-width: 100% !important;
    word-break: keep-all !important;
  }

  .contactUs-hero__para p {
    max-width: 78% !important;
    /* keeps readable line length */
  }

  /* Divider / illustration sizing (keeps it visible on large screens) */
  .contactUs-hero__divider img {
    width: clamp(28%, 30vw, 48%) !important;
    height: auto !important;
  }

  /* Form card: wider on large screens, thicker border for visual weight */
  .contactUs-hero__form-card {
    min-width: 420px !important;
    max-width: 600px !important;
    /* larger than default but still constrained */
    width: 100% !important;
    padding: clamp(.6rem, 1.6vw, 1.8rem) !important;
    border-width: clamp(14px, 1.1vw, 20px) !important;
    box-shadow: var(--shadow-lg) !important;
    margin: 0 auto !important;
  }

  /* Smaller / mid-size form title inside the card (use form var fallback) */
  .contactUs-hero__form-card h3.form-title {
    margin-bottom: clamp(.6rem, 1vw, .95rem) !important;
  }

  /* Form description limited width so it wraps into ~2 lines */
  .contactUs-hero__form-card p.form-description,
  .contactUs-hero__form-card .forminator-description {
    max-width: 360px !important;
    /* ensures two-line description as requested */
    margin-bottom: .6rem !important;
  }

  /* Inputs / textarea bump up slightly */
  .contactUs-hero__form-card input,
  .contactUs-hero__form-card textarea {
    font-size: clamp(1rem, 0.6vw, 1.1rem) !important;
    padding: clamp(.7rem, 1vw, 1.15rem) !important;
  }


  /* corner decoration and outer arrow scaling/position */
  .contactUs-hero__form-corner-arrow {
    width: clamp(35px, 3vw, 55px) !important;
    height: clamp(35px, 3vw, 55px) !important;
  }

  .contactUs-hero__form-card::before {
    bottom: -23px !important;
    right: -20px !important;
    width: 21px !important;
    height: 21px !important;
  }

  .contactUs-hero__form-card::after {
    bottom: -22px !important;
    right: -40px !important;
    width: 20px !important;
    height: 20px !important;
  }

  /* prevent left title from growing too tall visually */
  .contactUs-hero__title h1 {
    margin-bottom: clamp(1rem, 1.6vw, 2.2rem) !important;
  }
}

/* ------------- CONTACT PAGE — LARGE / WIDE / ULTRA-WIDE HERO OVERRIDES ------------- */
/* Replace the existing 1920–2499 and 2500+ blocks in contactUs.css with these */

/* ---------- 1920px — 2499px (wide desktop) ---------- */
@media (min-width: 1920px) and (max-width: 2499px) {

  /* section spacing */
  .contactUs-hero {
    padding: var(--section-padding-y) var(--section-padding-x) !important;
    gap: clamp(2rem, 3vw, 4.5rem) !important;
    align-items: center !important;
  }

  /* title sizing (scaled from hero vars) */
  .contactUs-hero__title h1 {
    max-width: 100% !important;
  }

  /* decorative divider / svg sizing */
  .contactUs-hero__divider img {
    width: clamp(34%, 28vw, 52%) !important;
    height: auto !important;
  }

  /* form card sizing / border should match homepage feel */
  .contactUs-hero__form-card {
    min-width: 600px !important;
    max-width: 720px !important;
    width: 100% !important;
    padding: 28px 36px !important;
    /* visually similar to homepage */
    border-width: clamp(16px, 1.3vw, 23px) !important;
    box-shadow: var(--shadow-lg) !important;
    box-sizing: border-box !important;
    margin: 0 auto !important;
  }

  /* form title / description sizing */
  .contactUs-hero__form-card h3.form-title {
    margin-bottom: clamp(.6rem, 1vw, .95rem) !important;
  }

  .contactUs-hero__form-card p.form-description,
  .contactUs-hero__form-card .forminator-description {
    max-width: 420px !important;
    /* forces ~2-line wrapping as requested */
    margin-bottom: .6rem !important;
  }

  /* inputs and textarea — larger tap targets and consistent height */
  .contactUs-hero__form-card input,
  .contactUs-hero__form-card textarea {
    font-size: 1.12rem !important;
    padding: 1.2rem 1.4rem !important;
    min-height: 56px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* submit / form button uses your site button tokens */
  .contactUs-hero__form-card button,
  .contactUs-hero__form-card .forminator-button,
  .contactUs-hero__form-card .wpforms-submit {
    padding: var(--btn-hero-padding-y) var(--btn-hero-padding-x) !important;
    font-size: var(--btn-hero-font-size) !important;
    min-height: var(--btn-hero-height) !important;
    gap: var(--btn-gap) !important;
  }

  /* corner decoration sizing & small squares positions */
  .contactUs-hero__form-corner-arrow {
    width: clamp(40px, 4vw, 60px) !important;
    height: clamp(40px, 4vw, 60px) !important;
    /* position relative to section padding so it doesn't drift too far on extra wide screens */
    right: calc(var(--section-padding-x) - 189px) !important;
    top: -50px !important;
  }

  .contactUs-hero__form-card::before {
    bottom: -24px !important;
    right: -24px !important;
    width: 22px !important;
    height: 22px !important;
  }

  .contactUs-hero__form-card::after {
    bottom: -24px !important;
    right: -45px !important;
    width: 21px !important;
    height: 21px !important;
  }
}

/* ---------- 2500px and above (ultra-wide) ---------- */
@media (min-width: 2500px) {
  .contactUs-hero {
    padding: var(--section-padding-y) var(--section-padding-x) !important;
    gap: clamp(3rem, 4vw, 6rem) !important;
    align-items: center !important;
  }

  .contactUs-hero__title h1 {
    max-width: 100% !important;
  }

  .contactUs-hero__divider img {
    width: clamp(40%, 36vw, 60%) !important;
    height: auto !important;
  }

  /* give the form more presence on ultra-wide screens */
  .contactUs-hero__form-card {
    min-width: 680px !important;
    max-width: 900px !important;
    width: 100% !important;
    padding: 32px 40px !important;
    /* a touch larger than wide */
    border-width: clamp(18px, 1.4vw, 24px) !important;
    box-shadow: var(--shadow-lg) !important;
    box-sizing: border-box !important;
  }

  .contactUs-hero__form-card p.form-description {
    max-width: 520px !important;
  }

  .contactUs-hero__form-card input,
  .contactUs-hero__form-card textarea {
    font-size: 1.25rem !important;
    padding: 1.4rem 1.6rem !important;
    min-height: 64px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .contactUs-hero__form-card button,
  .contactUs-hero__form-card .forminator-button,
  .contactUs-hero__form-card .wpforms-submit {
    padding: var(--btn-hero-padding-y) var(--btn-hero-padding-x) !important;
    font-size: var(--btn-hero-font-size) !important;
    min-height: var(--btn-hero-height) !important;
  }

  .contactUs-hero__form-corner-arrow {
    right: calc(var(--section-padding-x) - 221px) !important;
    top: -59px !important;
    width: clamp(64px, 6vw, 70px) !important;
    height: clamp(64px, 6vw, 70px) !important;
  }

  .contactUs-hero__form-card::before {
    bottom: -27px !important;
    right: -26px !important;
    width: 25px !important;
    height: 25px !important;
  }

  .contactUs-hero__form-card::after {
    bottom: -26px !important;
    right: -52px !important;
    width: 25px !important;
    height: 25px !important;
  }
}

/* ------------- end contact-us large/ultra-wide overrides ------------- */


/*-----desktop optimization ends ----- */










p {
  margin: 0;
}

.forminator-field .forminator-description {
  display: none !important;
}

/* === contactUs HERO SECTION === */
.contactUs-hero {
  padding: var(--section-padding-y) var(--section-padding-x) !important;
  display: flex !important;
  align-items: stretch;
  gap: 2rem;
  background: #fff;
  margin-top: 2rem;
}

.contactUs-hero__left {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.contactUs-hero__left .so-panel {
  margin-bottom: 0 !important;
}

.contactUs-hero__title h1 {
  font-size: var(--hero-title-fs);
  line-height: var(--hero-title-lh);
  font-weight: 500;
  color: var(--color-primary);
  margin-bottom: clamp(1.2rem, 2vw, 2.2rem);
  letter-spacing: -0.02em;
}

.contactUs-hero__divider img {
  width: 30%;
  height: auto;
}

.contactUs-hero__subtitle p {
  margin: 0;
  font-size: var(--hero-subtitle-fs);
  line-height: var(--hero-subtitle-lh);
  color: var(--color-secondary);
  font-weight: 700;
}

.contactUs-hero__para {
  padding-top: 40px;
  width: 90%;
}

.contactUs-hero__para p {
  font-size: var(--section-para-fs);
  line-height: var(--section-para-lh);
}

.contactUs-para-2 span {
  text-decoration: underline;
}

.contactUs-hero__right {
  flex: 1 1 0;
  min-width: 320px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  padding: 0;
}

#forminator-module-494 .forminator-row {
  margin-bottom: 15px !important;
}

.forminator-edit-module {
  display: none;
}

.contactUs-hero__form-card {
  background: #fff;
  border: 16px solid #222;
  border-radius: 0 0 0 0;
  padding: 6px clamp(1rem, 2vw, 1.5rem) 6px clamp(1rem, 2vw, 1.5rem);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
  position: relative;
  min-width: 500px;
  max-width: 520px;
  width: 100%;
  box-sizing: border-box;
  margin: 0 auto;
}

.contactUs-hero__form-card .forminator-ui {
  margin-top: 10px !important;
}

.contactUs-hero__form-card p {
  margin: 0;
  padding: 0;
  height: 0;
}

.contactUs-hero__form-card h3.form-title {
  font-size: var(--form-title-fs);
  line-height: var(--form-title-lh);
  color: var(--color-primary);
  font-weight: 800;
  margin-bottom: clamp(0.7rem, 1vw, 1rem);
}

/* Forminator form overrides */
.contactUs-hero__form-card .forminator-ui {
  margin-top: 1.5rem;
}

.contactUs-hero__form-card input,
.contactUs-hero__form-card textarea {
  background: #eee;
  border: none !important;
  border-radius: 0;
  font-size: 1rem;
  margin-bottom: 1rem;
  padding: 0.75rem 1rem;
  width: 100%;
  box-sizing: border-box;
  outline: none;
}

.contactUs-form-select-role .select2-selection {
  border: none !important;
}

.contactUs-hero__form-card button,
.contactUs-hero__form-card .forminator-button,
.contactUs-hero__form-card .wpforms-submit {
  background: var(--color-primary);
  color: #fff;
  font-weight: 700 !important;
  border: none;
  border-radius: 0 !important;
  padding: var(--btn-hero-padding-y) var(--btn-hero-padding-x) !important;
  font-size: var(--btn-hero-font-size) !important;
  width: auto;
  /* forms: full width */
  height: auto;
  min-height: var(--btn-hero-height);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--btn-gap) !important;
  transition: background 0.2s;
  margin-top: 1rem;
  cursor: pointer;
}

.contactUs-hero__form-card button:hover,
.contactUs-hero__form-card .forminator-button:hover,
.contactUs-hero__form-card .wpforms-submit:hover {
  background: var(--color-secondary);
}

/* === contactUs HERO FORM CARD BOTTOM RIGHT CORNER DECORATION === */

.contactUs-hero__form-card {
  position: relative;
}

.contactUs-hero__form-card::before {
  content: "";
  position: absolute;
  box-shadow: none;
  bottom: -17px;
  right: -16px;
  width: 15px;
  height: 15px;
  background-color: #fff;
  z-index: 2;
}

.contactUs-hero__form-card::after {
  content: "";
  position: absolute;
  bottom: -17px;
  right: -31px;
  width: 15px;
  height: 15px;
  background-color: var(--color-secondary);
  z-index: 1;
}

/* === contactUs HERO FORM CARD TOP RIGHT CORNER SVG POSITIONING === */

.contactUs-hero__form-corner-arrow {
  position: absolute;
  right: -45px;
  top: -43px;
  width: clamp(28px, 3vw, 48px);
  height: clamp(28px, 3vw, 48px);
  z-index: 10;
  pointer-events: none;
}

.contactUs-hero__form-inner-corner {
  position: absolute;
  top: -4px;
  right: -16px;
  width: clamp(38px, 4.5vw, 72px);
  height: clamp(28px, 3vw, 56px);
  z-index: 3;
  pointer-events: none;
}

/* === ESTIMATE SECTION === */

.estimate-section-row {
  display: flex;
  align-items: center;
  /* vertical centering */
  justify-content: space-between;
  min-height: 420px;
  /* or whatever height you want */
  background: var(--color-primary);
  position: relative;
  padding: 0 2vw;
  overflow: hidden;
}

.estimate-section-right {
  right: -30px;
  width: 100%;
  position: relative;
  display: flex;
  align-items: flex-end;
  /* bottom align */
  justify-content: flex-end;
  /* right align */
  height: 100%;
  min-height: 420px;
  /* match left side */
}

.estimate-section-pattern img,
.estimate-section-pattern .so-widget-image {
  display: block;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: 600px;
  height: auto;
  z-index: 1;
  pointer-events: none;
}

.estimate-section-title-wrapper {
  position: relative;
  display: inline-block;
}

.estimate-section-title {
  color: #fff;
  font-size: var(--section-title-fs);
  line-height: var(--section-title-lh);
  font-weight: 700;
  margin: 0 0 2rem 0;
  position: relative;
  display: inline;
  white-space: normal;
  z-index: 2;
}

.estimate-title-corner-svg {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(50%, -50%);
  width: clamp(20px, 2vw, 25px);
  height: clamp(20px, 2vw, 25px);
  z-index: 3;
  display: block;
}

/* Responsive code starts here */

/* overriding the site origin layout change for tabs  */
@media (max-width: 1100px) {
  #wpadminbar {
    display: none;
  }

  .contactUs-hero__form-card {
    min-width: 400px;
  }

  .forminator-ui#forminator-module-494.forminator-design--default .forminator-button-submit {
    width: auto;
  }

  .about-hero__divider img {
    width: 40%;
  }

  .contactUs-hero__divider img {
    width: 40%;
  }
}



.estimate-section-row .ow-button-base {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

/* main anchor */
.estimate-section-row .sowb-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--btn-gap) !important;
  width: var(--btn-width) !important;
  min-width: var(--btn-min-width) !important;
  height: var(--btn-height) !important;
  padding: var(--btn-padding-y) var(--btn-padding-x) !important;
  font-size: var(--btn-font-size) !important;
  font-weight: 700;
  line-height: var(--btn-line-height) !important;
  color: #fff !important;
  background: var(--color-secondary) !important;
  border: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
  border-radius: 0 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  white-space: nowrap !important;
}

/* icon inside button */
.estimate-section-row .sowb-button .sow-icon-ionicons {
  display: inline-block !important;
  width: var(--btn-arrow-size) !important;
  height: var(--btn-arrow-size) !important;
  font-size: var(--btn-arrow-size) !important;
  line-height: 1 !important;
  margin-left: var(--btn-arrow-offset-x) !important;
  color: #fff !important;
  transition: transform .22s ease !important;
}

/* anchor wrappers */
.estimate-section-row .ow-button-base .sowb-button {
  display: inline-flex !important;
}

/* ensure left alignment */
.estimate-section-row .ow-button-align-left {
  justify-content: flex-start !important;
}

/* span wrapper inside button */
.estimate-section-row .sowb-button span {
  display: inline-flex !important;
  align-items: center !important;
  gap: var(--btn-gap) !important;
}






/*new*/

/* === CONTACT US HERO FORM (Refactored to use global variables) === */

.contactUs-hero__form-card {
  border: solid var(--color-secondary);
  position: relative !important;
  box-sizing: border-box !important;
  min-width: 340px;
  width: var(--container-outer-w) !important;
  max-width: 100% !important;
  background: var(--container-bg) !important;
  padding: calc(var(--container-outer-padding) - 0.5rem) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: var(--container-outer-gap) !important;
  border-width: var(--container-frame-border-width) !important;
  border-radius: 0 !important;
  overflow: visible !important;
  margin: 0 auto;
}

/* form element wrapper */
.contactUs-hero__form-card .forminator-ui {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* each row */
.contactUs-hero__form-card .forminator-row {
  margin: 0 !important;
}

.contactUs-hero__form-card .forminator-row+.forminator-row {
  margin-top: var(--container-gap-vertical) !important;
}

/* inputs */
.contactUs-hero__form-card .forminator-input,
.contactUs-hero__form-card .forminator-name--field,
.contactUs-hero__form-card .forminator-field--phone,
.contactUs-hero__form-card .forminator-email--field {
  width: var(--container-input-w) !important;
  height: var(--container-input-h) !important;
  padding: 0.6rem 1rem !important;
  border: 1px solid var(--container-border-color) !important;
  background: var(--container-input-bg) !important;
  font-size: var(--container-field-fs) !important;
  line-height: var(--container-field-lh) !important;
  color: var(--container-field-color) !important;
  outline: none !important;
  box-sizing: border-box !important;
}

/* textarea */
.contactUs-hero__form-card .forminator-textarea {
  width: var(--container-input-w) !important;
  min-height: var(--container-textarea-h) !important;
  padding: 0.75rem 1rem !important;
  border: 1px solid var(--container-border-color) !important;
  background: var(--container-input-bg) !important;
  font-size: var(--container-field-fs) !important;
  line-height: var(--container-field-lh) !important;
  resize: vertical !important;
}

/* button */
.contactUs-hero__form-card .forminator-button {
  height: var(--container-btn-h) !important;
  padding: 0 var(--container-btn-padding-inline) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer !important;
}

/* focus states */
.contactUs-hero__form-card .forminator-input:focus,
.contactUs-hero__form-card .forminator-textarea:focus {
  border-color: rgba(229, 56, 59, 0.95) !important;
  box-shadow: 0 0 0 6px rgba(229, 56, 59, 0.08) !important;
}

/* corner arrows */
.contactUs-hero__form-corner-arrow {
  position: absolute !important;
  top: calc(-0.7 * var(--form-outer-corner-arrow-offset)) !important;
  right: calc(-0.6 * var(--form-outer-corner-arrow-offset)) !important;
  width: var(--form-outer-corner-arrow-width) !important;
  height: auto !important;
  transform: translate(12%, -6%) !important;
  z-index: 6 !important;
  pointer-events: none !important;
}


/*custom overriding global form dimensions css for conatct-us page*/

@media(min-width: 1300px) and (max-width: 1919px) {
  .contactUs-hero__form-card {
    width: calc(var(--container-outer-w) - 2rem) !important;
  }
}

@media(min-width: 1920px) {
  .contactUs-hero__form-card {
    width: calc(var(--container-outer-w) - 3rem) !important;
  }
}

@media(min-width: 1400px) and (max-width: 1599px) {
  .contactUs-hero__form-card::after {
    bottom: -19px;
    right: -36px;
    width: 17px;
    height: 17px;
  }

  .contactUs-hero__form-card::before {
    bottom: -19px;
    right: -19px;
    width: 17px;
    height: 17px;
  }
}

@media (max-width: 767px) {

  .contactUs-hero__form-card {
    min-width: 380px;
  }

  .contactUs-hero__form-corner-arrow {
    right: -30px;
    top: -31px;
  }

  .estimate-section-title-wrapper {
    width: 88%;
  }

  .estimate-section-title br {
    display: none;
  }

  .estimate-section-left {
    position: absolute;
    margin-top: 80px;
  }

  .estimate-section-pattern .sow-image-container img {
    width: 60%;
  }

  .contactUs-hero__form-card {
    padding: var(--container-outer-padding) !important;
  }

  .contactUs-hero__form-corner-arrow {
    top: calc(-0.5 * var(--form-outer-corner-arrow-offset)) !important;
    right: calc(-0.5 * var(--form-outer-corner-arrow-offset)) !important;
    width: calc(var(--form-outer-corner-arrow-width) - 0.3rem) !important;
  }

  .contactUs-hero__form-card::after {
    bottom: -14px;
    right: -24px;
    width: 12px;
    height: 12px;
  }

  .contactUs-hero__form-card::before {
    bottom: -13px;
    right: -12px;
    width: 12px;
    height: 12px;
  }
}

@media (min-width: 768px) and (max-width: 900px) {
  .contactUs-hero__form-corner-arrow {
    right: -28px;
    top: -38px;
  }

  .contactUs-hero__form-card {
    min-width: 340px;
  }

  .contactUs-hero {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 0;
  }

  .estimate-section-row {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
  }

  /* estimate right area overriding*/
  #pgc-492-1-1 {
    width: 60%;
    width: calc(60% - (0.7 * 30px)) !important;
  }

  .contactUs-hero__form-card {
    padding: var(--container-outer-padding) !important;
  }

  .contactUs-hero__form-card::before {
    bottom: -13px;
    right: -13px;
    width: 13px;
    height: 13px;
  }

  .contactUs-hero__form-card::after {
    bottom: -14px;
    right: -27px;
    width: 13px;
    height: 13px;
  }
  #forminator-module-494 {
    margin: 0 !important;
  }
}

@media (min-width: 901px) and (max-width: 1279px) {
  .contactUs-hero__form-card::before {
    bottom: -14px;
    right: -14px;
    width: 15px;
    height: 15px;
  }

  .contactUs-hero__form-card::after {
    bottom: -14px;
    right: -30px;
    width: 15px;
    height: 15px;
  }
  #forminator-module-494 {
    margin: 0 !important;
  }
}

@media (max-width: 395px) {
  .contactUs-hero__form-card {
    min-width: 345px;
  }
}