/* ================= CONTACT US PAGE MOBILE RESPONSIVE STYLES ================= */

/* ================= MOBILE RESPONSIVE STYLES (320px - 767px) ================= */

@media (min-width: 768px) {
  .contact-us-highlight-title-mobile{
    display: none !important;
  }
}

@media (max-width: 767px) {
  :root {
    --mobile-title-primary: clamp(1.8rem, 5vw, 2.2rem);
    --mobile-title-secondary: clamp(1.4rem, 4vw, 1.8rem);
    --mobile-title-tertiary: clamp(1.2rem, 3.5vw, 1.5rem);
    
    /* Body Text & Content */
    --mobile-text-large: clamp(0.9rem, 2.8vw, 1rem);           /* Large body text */
    --mobile-text-base: clamp(0.8rem, 2.4vw, 0.9rem);          /* Standard body text */
    --mobile-text-small: clamp(0.7rem, 2.1vw, 0.8rem);         /* Small text, captions */
    --mobile-subtitle: clamp(1rem, 3.5vw, 1.3rem);             /* Section subtitles */
    
    --mobile-button-text: clamp(0.75rem, 2.2vw, 0.85rem);
    --mobile-form-text: clamp(0.75rem, 2.2vw, 0.85rem);
    
    --mobile-svg-small: clamp(14px, 4vw, 18px);
    --mobile-svg-medium: clamp(18px, 4.5vw, 22px);
    
    --mobile-spacing-tight: clamp(0.3rem, 1.5vw, 0.5rem);
    --mobile-spacing-normal: clamp(0.5rem, 2vw, 0.7rem);
    --mobile-spacing-loose: clamp(0.7rem, 2.5vw, 1rem);
  }

  :root {
    --container-width: calc(100% - 32px);
    --container-max-width: 767px;
  }

  .container {
    width: var(--container-width);
    max-width: var(--container-max-width);
    padding: 0;
    margin: 0 auto;
  }

  section {
    padding: clamp(2rem, 5vw, 2.5rem) 0;
  }
}

/* ================= CONTACT HERO SECTION MOBILE STYLES ================= */

@media (max-width: 767px) {
  .contact-hero {
    padding: clamp(2rem, 5vw, 2.5rem) 0 clamp(2.5rem, 6vw, 3rem) !important;
    background-size: contain !important;
    display: flex !important;
    align-items: flex-start !important;
    position: relative !important;
    overflow: hidden !important;
  }

  .contact-hero__container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    max-width: var(--container-max-width) !important;
    width: var(--container-width) !important;
    margin: 0 auto !important;
    padding: 0 clamp(16px, 4vw, 24px) !important;
    gap: clamp(2rem, 5vw, 2.5rem) !important;
  }

  .contact-hero__left {
    flex: 1 1 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    padding-top: 0 !important;
    width: 100% !important;
    text-align: left !important;
    margin-bottom: clamp(0.7rem, 2vw, 1rem) !important;
    gap: 0 !important;
  }

  .contact-hero__title {
    font-size: var(--mobile-title-primary) !important;
    font-weight: 800 !important;
    color: var(--color-primary) !important;
    line-height: 1.1 !important;
    margin-bottom: clamp(0.5rem, 1.5vw, 0.8rem) !important;
    text-transform: lowercase !important;
    text-align: left !important;
  }

  .contact-hero__divider {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin-bottom: clamp(0.5rem, 1.5vw, 0.8rem) !important;
    width: 100% !important;
  }

  .contact-hero__divider-svg {
    width: clamp(120px, 50vw, 180px) !important;
    height: auto !important;
    max-width: 100% !important;
  }

  .contact-hero__subtitle-group {
    margin-top: 0 !important;
    width: 100% !important;
  }

  .contact-hero__subtitle {
    font-size: var(--mobile-text-base) !important;
    font-weight: 400 !important;
    color: var(--color-secondary) !important;
    margin-bottom: clamp(0.7rem, 2vw, 1rem) !important;
    line-height: 1.5 !important;
    max-width: 100% !important;
    text-align: left !important;
  }

  .contact-hero__right {
    flex: 1 1 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 0 !important;
    position: relative !important;
    width: 100% !important;
  }

  .contact-hero__form-card {
    position: relative !important;
    background: #fff !important;
    border: clamp(10px, 3vw, 12px) solid #282828 !important;
    border-radius: 0 !important;
    padding: clamp(1.2rem, 4vw, 1.8rem) clamp(1rem, 3vw, 1.4rem) !important;
    max-width: 100%;
    width: 100% !important;
    z-index: 1 !important;
    margin: 0 auto !important;
  }

  .contact-hero__form-card:before {
    content: '' !important;
    position: absolute !important;
    box-shadow: none !important;
    bottom: clamp(-13px, -3vw, -12px) !important;
    right: clamp(-12px, -3vw, -12px) !important;
    width: clamp(10px, 3vw, 12px) !important;
    height: clamp(10px, 3vw, 12px) !important;
    background-color: #ffffff !important;
    z-index: 2 !important;
  }

  .contact-hero__form-card:after {
    content: '' !important;
    position: absolute !important;
    bottom: clamp(-12px, -3vw, -12px) !important;
    right: clamp(-24px, -6vw, -24px) !important;
    width: clamp(10px, 3vw, 12px) !important;
    height: clamp(10px, 3vw, 12px) !important;
    background-color: #282828 !important;
    z-index: 1 !important;
  }

  .contact-hero__form-title {
    font-size: var(--mobile-title-tertiary) !important;
    font-weight: 700 !important;
    color: var(--color-primary) !important;
    margin-bottom: clamp(1rem, 3vw, 1.4rem) !important;
    text-transform: none !important;
    line-height: 1.2 !important;
  }

  .contact-hero__form {
    display: flex !important;
    flex-direction: column !important;
    gap: clamp(14px, 4vw, 18px) !important;
    margin-top: clamp(1.2rem, 4vw, 1.6rem) !important;
  }

  .contact-hero__form input,
  .contact-hero__form textarea {
    background: #eaeaea !important;
    border: none !important;
    border-radius: 0 !important;
    padding: clamp(10px, 3vw, 12px) clamp(12px, 3.5vw, 14px) !important;
    font-size: var(--mobile-form-text) !important;
    margin-bottom: 0 !important;
  }

  .contact-hero__form textarea {
    min-height: clamp(60px, 15vw, 80px) !important;
    resize: vertical !important;
  }

  .contact-hero__form input:focus,
  .contact-hero__form textarea:focus {
    outline: 2px solid var(--color-primary) !important;
    background: #fff !important;
  }

  .contact-hero__form-button {
    background: var(--color-primary) !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: var(--mobile-button-text) !important;
    border-radius: 0 !important;
    margin-top: clamp(0.8rem, 2.5vw, 1.2rem) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(4px, 1.5vw, 6px) !important;
    padding: clamp(6px, 2vw, 8px) clamp(16px, 4vw, 20px) !important;
    width: auto !important;
    align-self: flex-start !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
  }

  .contact-hero__form-arrow {
    font-size: 1.2em !important;
    margin-left: clamp(2px, 1vw, 4px) !important;
    transition: transform 0.2s ease-in-out !important;
    vertical-align: middle !important;
    display: inline-block !important;
  }

  .contact-hero__form-button:hover .contact-hero__form-arrow {
    transform: translateX(clamp(3px, 1vw, 5px)) !important;
  }

  .contact-hero__form-container {
    position: relative !important;
    width: 100% !important;
    min-height: clamp(280px, 70vw, 340px) !important;
  }

  .contact-hero__form-view {
    opacity: 1 !important;
    transition: opacity 0.4s ease !important;
    width: 100% !important;
  }

  .contact-hero__success-view {
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    transform: translateY(-50%) !important;
    width: 100% !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.4s ease, visibility 0.4s ease !important;
    padding: clamp(14px, 4vw, 20px) 0 !important;
  }

  .contact-hero__form-container--success .contact-hero__form-view {
    opacity: 0 !important;
    visibility: hidden !important;
  }

  .contact-hero__form-container--success .contact-hero__success-view {
    opacity: 1 !important;
    visibility: visible !important;
  }

  .contact-hero__success-title {
    font-size: var(--mobile-title-tertiary) !important;
    font-weight: 700 !important;
    color: var(--color-primary) !important;
    margin-bottom: clamp(0.8rem, 2.5vw, 1.2rem) !important;
  }

  .contact-hero__success-desc {
    color: var(--color-secondary) !important;
    font-size: var(--mobile-text-base) !important;
    line-height: 1.4 !important;
  }

  /* Contact Form Corner Decorations */
  .contact-hero__form-corner-arrow {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    transform: translate(50%, -50%) !important;
    width: clamp(28px, 8vw, 36px) !important;
    height: clamp(28px, 8vw, 36px) !important;
    z-index: 10 !important;
    pointer-events: none !important;
  }

  .contact-hero__form-inner-corner {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: clamp(36px, 10vw, 48px) !important;
    height: clamp(28px, 8vw, 36px) !important;
    z-index: 3 !important;
    pointer-events: none !important;
  }
}

/* ================= CONTACT US TABLE SECTION MOBILE STYLES ================= */

@media (max-width: 767px) {
    /* ================= WORK WITH US SECTION MOBILE OPTIMIZATION ================= */

    .contact-us-table__container {
      width: calc(100% - 20px) !important;
      max-width: 100% !important;
      margin: 0 auto !important;
    }
  
    .contact-us-table__team-highlights {
      margin: clamp(2rem, 5vw, 3rem) 0 !important;
    }
    .contact-us-table__highlights-title{
      display: none !important;
    }

    .contact-us-highlight-title-mobile{
      display: inline-block !important;
      font-size: var(--mobile-title-primary) !important;
      font-weight: 700 !important;
      line-height: 1.2 !important;
      position: relative !important;
      max-width: 82% !important;
      margin: 0 !important;
      word-break: break-word !important;
    }
    .contact-us-table-team__corner-svg{
      position: absolute !important;
      top: 0 !important;
      right: clamp(-8px, -2vw, -5px) !important;
      width: clamp(14px, 3.5vw, 18px) !important;
      height: clamp(14px, 3.5vw, 18px) !important;
      z-index: 3 !important;
    }
    
    .contact-us-table__highlights-title {
      font-size: clamp(1.2rem, 4vw, 1.6rem) !important;
      font-weight: 700 !important;
      margin: 0 0 clamp(1.5rem, 4vw, 2rem) 0 !important;
    }
  
    .contact-us-table__stats-table {
      width: 100% !important;
      margin: 0 auto !important;
      background-color: var(--color-secondary) !important;
      border-radius: 0 !important;
      overflow: hidden !important;
    }
    
    .contact-us-table__stats-row {
      display: flex !important;
      flex-direction: column !important;
      width: 100% !important;
      gap: 0 !important;
    }
    
    .contact-us-table__stats-cell {
      padding: clamp(1.5rem, 4vw, 2rem) clamp(1rem, 3vw, 1.5rem) !important;
      text-align: left !important;
      position: relative !important;
      background-color: var(--color-secondary) !important;
      display: flex !important;
      flex-direction: column !important;
      align-items: flex-start !important;
      gap: clamp(0.8rem, 2vw, 1rem) !important;
    }
    
    /* Remove all existing red lines */
    .contact-us-table__stats-cell::after {
      display: none !important;
    }
    
    /* Add vertical line between columns (between cell 1-2 and 3-4) */
    .contact-us-table__stats-cell:nth-child(1)::before,
    .contact-us-table__stats-cell:nth-child(2)::before {
      content: '' !important;
      position: absolute !important;
      bottom: 0 !important;
      left: 4% !important;
      right: 6% !important;
      height: 1px !important;
      background-color: #e63946 !important;
      display: block !important;
    }
    
    
    .contact-us-table__stats-text {
      font-size: var(--mobile-text-base) !important;
      font-weight: 400 !important;
      color: #ffffff !important;
      line-height: 1.4 !important;
      margin: 0 !important;
    }
}


/* ================= CONTACT ESTIMATOR CTA SECTION MOBILE STYLES ================= */

@media (max-width: 767px) {
  .contact-estimator-cta {
    background: var(--color-primary) url('../../../assets/svg/constactus-estimator-section-right-side.svg') no-repeat right bottom/40vw auto !important;
    color: #fff !important;
    min-height: 320px !important;
    padding: clamp(2rem, 6vw, 3rem) clamp(1rem, 6vw, 2rem) !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    position: relative !important;
    overflow: hidden !important;
  }
  .contact-estimator-cta__container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    gap: clamp(1.2rem, 4vw, 2rem) !important;
    position: static !important;
    z-index: 1 !important;
  }
  .contact-estimator-cta__content {
    width: 100% !important;
    text-align: left !important;
    position: static !important;
    z-index: 2 !important;
    flex: none !important;
    min-width: 0 !important;
  }
  .contact-estimator-cta__title {
    font-size: clamp(1.2rem, 4vw, 1.5rem) !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    margin-bottom: clamp(1.2rem, 4vw, 2rem) !important;
    color: #fff !important;
    max-width: 13em !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    white-space: normal !important;
    word-break: break-word !important;
    padding-top: 1.2em !important;
  }
  .contact-estimator-cta__corner-svg {
    display: none !important;
  }
  .contact-estimator-cta__button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: clamp(8px, 2vw, 12px) clamp(18px, 5vw, 32px) !important;
    min-width: 0 !important;
    font-weight: 700 !important;
    font-size: clamp(1.15rem, 4vw, 1.25rem) !important;
    border-radius: 0 !important;
    background: var(--color-secondary) !important;
    margin-top: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-decoration: none !important;
    color: #fff !important;
    border: none !important;
    cursor: pointer !important;
    box-shadow: none !important;
  }
  .contact-estimator-cta__button-arrow {
    font-size: 0.8em !important;
  }
  .contact-estimator-cta__image,
  .contact-estimator-cta__svg {
    display: none !important;
  }
  .contact-hero__form-card {
    border: clamp(12px, 3vw, 20px) solid #282828 !important;
  }
}

/* ================= MOBILE SUB-BREAKPOINTS ================= */

/* Small Mobile (320px - 374px) */
@media (max-width: 374px) {
  .contact-hero__form-card {
    padding: clamp(1rem, 4vw, 1.4rem) clamp(0.8rem, 3vw, 1.2rem) !important;
  }

  .contact-hero__form input,
  .contact-hero__form textarea {
    padding: clamp(8px, 3vw, 10px) clamp(10px, 3.5vw, 12px) !important;
  }

  .contact-estimator-cta {
    padding-bottom: clamp(6rem, 18vw, 8rem) !important;
  }

  .contact-estimator-cta__image {
    height: clamp(140px, 40vw, 180px) !important;
  }
}

/* Medium Mobile (375px - 424px) */
@media (min-width: 375px) and (max-width: 424px) {
  .contact-hero__form-card {
    padding: clamp(1.1rem, 4vw, 1.5rem) clamp(0.9rem, 3vw, 1.3rem) !important;
  }

  .contact-hero__form input,
  .contact-hero__form textarea {
    padding: clamp(9px, 3vw, 11px) clamp(11px, 3.5vw, 13px) !important;
  }

  .contact-estimator-cta {
    padding-bottom: clamp(7rem, 19vw, 9rem) !important;
  }

  .contact-estimator-cta__image {
    height: clamp(160px, 42vw, 200px) !important;
  }
}

/* Large Mobile (425px - 767px) */
@media (min-width: 425px) and (max-width: 767px) {
  .contact-hero__form-card {
    padding: clamp(1.2rem, 4vw, 1.6rem) clamp(1rem, 3vw, 1.4rem) !important;
  }

  .contact-hero__form input,
  .contact-hero__form textarea {
    padding: clamp(10px, 3vw, 12px) clamp(12px, 3.5vw, 14px) !important;
  }

  .contact-estimator-cta {
    padding-bottom: clamp(8rem, 20vw, 10rem) !important;
  }

  .contact-estimator-cta__image {
    height: clamp(180px, 45vw, 220px) !important;
  }
}
