  :root {
    --brand: #88c733;
    --dark: #182333;
  }

    .contact-left .row.g-4.flex-grow-1 .col-12 {
          margin-top: 8px !important;
      }

      .wpcf7 form > p {
      margin-bottom: 8px !important;
    }

    .form-control,
    .form-select {
      padding: 10px 14px 10px 40px;
    }

    .input-wrap p{
      line-height: 15px !important;
    }


    .wpcf7 form p {
      margin: 0 !important;
    }

    .wpcf7 form .cf7-checkbox {
      margin-top: 20px !important;
    }

    /* ===== CF7 SPACING FIX ===== */
    .wpcf7 form p,
    .wpcf7 form .wpcf7-form-control-wrap,
    .wpcf7 p {
      margin: 0 !important;
      padding: 0 !important;
    }

    /* Remove any top padding CF7 adds to the form itself */
    .wpcf7 {
      margin: 0 !important;
      padding: 0 !important;
    }

    /* Ensure form-box aligns to top, not center */
    .form-box {
      height: 100% !important;
      display: flex !important;
      align-items: flex-start !important; /* ← change from center to flex-start */
    }

    
    .wpcf7 form > p:first-child:empty,
    .wpcf7 form > p:empty {
      display: none !important;
    }

    .contact-right {
      padding-top: 0 !important;
      margin-top: 20px !important;
    }
    
    .page-banner h1,
  .page-banner h2 {
    color: #fff;
    font-size: 55px !important;
    padding: 0 8%;
  }

    /* BANNER */
    .page-banner {
      min-height: 100vh;
      /* increase height */
      display: flex;
      align-items: center;
      /* vertical center */
      justify-content: center;

      /* background: url('assets/img/banner-img2.webp') center/cover no-repeat; */
      position: relative;
      margin-top: 85px;
    }

  .page-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
  }

  .page-banner .container {
    position: relative;
    z-index: 2;
  }

  /* CONTACT SECTION */
  .contact-section {
    background: #f5f5f5;
    padding: 43px 0;
  }


  .contact-title {
    text-align: center;
    margin-bottom: 50px;
  }

  .contact-title span {
    display: block;
    width: 80px;
    height: 3px;
    background: linear-gradient(to right, transparent, var(--brand), transparent);
    margin: 10px auto 0;
  }

  /* EQUAL HEIGHT FIX */
  .contact-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start !important; /* ← both columns start at same top */

  }

  .contact-left,
  .contact-right {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  .info-card i {
    display: block;
    margin-bottom: 25px;
  }



  /* LEFT CARDS */
  .info-card {
    background: #fff;
    border-radius: 16px;
    padding: 35px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    height: 100%;
  }

  .info-card i {
    font-size: 28px;
    color: var(--brand);
    margin-bottom: 15px;
  }

  /* FORM */
  .form-box {
    height: 100%;
    display: flex;
    align-items: center;
     padding-top: 0 !important;
  margin-top: 0 !important;
  }

  form {
    width: 100%;
  }

  .form-control,
  .form-select {
    border-radius: 14px;
    border: none;
    background: #fff;
    padding: 16px 18px 16px 45px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  }

  .form-control:focus,
  .form-select:focus {
    box-shadow: 0 0 0 2px rgba(136, 199, 51, 0.2);
  }

  .input-wrap {
    position: relative;
  }

  .input-wrap i {
    position: absolute;
    left: 26px;
    top: 28px;
    transform: translateY(-50%);
    color: var(--brand);
  }

  textarea.form-control {
    height: 140px;
    resize: none;
  }

  .submit-wrap {
    text-align: center;
    margin-top: 20px;
  }

  .info-card h5 {
    font-weight: 500;
  }

  .section-kicker {
    font-size: 1.5rem !important;
    /* increase as needed */
    font-weight: 600;
  }


  .contact-section .btn-split-text {
    padding: 8px 25px;
  }

  .contact-section .btn-split-icon {
    margin: 3px;
  }

  /* ===== CF7 ICON FIX (GLOBAL) ===== */

  .input-wrap {
    position: relative;
  }

  .input-wrap .wpcf7-form-control-wrap {
    display: block;
  }

  .input-wrap .form-control,
  .input-wrap .form-select {
    width: 100%;
    padding-left: 50px !important;
  }

  /* KEY FIX: bring icon ABOVE input */
  .input-wrap i {
    position: absolute;
    left: 27px;
    top: 44px;
    transform: translateY(-50%);
    color: var(--brand);
    font-size: 16px;
    pointer-events: none;
    z-index: 10;
    /* 👈 increase z-index */
  }

  /* TEXTAREA FIX */
  .input-wrap.textarea-wrap i {
    top: 22px;
    transform: none;
  }

  .input-wrap textarea.form-control {
    padding-left: 50px !important;
    padding-top: 18px;
  }

  /* ===== FIX CF7 ACCEPTANCE ALIGNMENT ===== */

  .cf7-checkbox .wpcf7-form-control-wrap {
    display: inline-flex;
    align-items: center;
  }

  /* target CF7 generated label */
  .cf7-checkbox .wpcf7-list-item {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
  }

  /* label fix */
  .cf7-checkbox label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    cursor: pointer;
  }

  /* checkbox input */
  .cf7-checkbox input[type="checkbox"] {
    margin: 0;
    width: 16px;
    height: 16px;
  }

  /* remove weird line break */
  .cf7-checkbox .wpcf7-list-item-label {
    display: inline;
  }

  .cf7-checkbox input[type="checkbox"] {
    accent-color: #88c733;
  }

  html,
  body {
    overflow-x: hidden;
  }


  @media (max-width: 768px) {

    /* Banner */
    .page-banner {
      min-height: 300px;
      margin-top: 70px;
      padding: 60px 15px;
    }

    .page-banner h1 {
      font-size: 2rem;
    }

    .page-banner p {
      font-size: 0.95rem;
    }

    /* Section spacing */
    .contact-section {
      padding: 50px 0;
    }

    .contact-title {
      margin-bottom: 30px;
    }

    .section-kicker {
      font-size: 1.2rem !important;
    }

    .display-6 {
      font-size: 1.2rem;
      line-height: 1.6;
    }

    /* Stack properly */
    .contact-row {
      display: block;
    }

    .contact-left {
      margin-bottom: 30px;
    }

    /* Cards */
    .info-card {
      padding: 25px;
    }

    .info-card i {
      font-size: 24px;
      margin-bottom: 15px;
    }

    /* Form fields */
    .form-control,
    .form-select {
      padding: 14px 16px 14px 40px;
      font-size: 0.9rem;
    }

    .input-wrap i {
      left: 26px;
      top: 26px;
      transform: translateY(-50%);
      font-size: 14px;
    }

    textarea.form-control {
      height: 120px;
    }



    .contact-section .btn-split-text {
      padding: 8px 25px;
    }

    .contact-section .btn-split-icon {
      margin: 3px;
    }

    /* Checkbox spacing */
    .form-check {
      font-size: 0.9rem;
    }

    .contact-title .section-kicker {
      width: 100%;
      text-align: center;
    }

    .contact-section .btn-split:active,
    .contact-section .btn-split:focus {
      background: #224272;
    }

    .contact-section .btn-split:active .btn-split-icon {
      background: #88c733;
      /* optional reverse effect */
    }

    .input-wrap {
      position: relative;
    }

    .input-wrap i {
      position: absolute;
      left: 26px;
      top: 42px;
      transform: translateY(-50%);
      font-size: 14px;
      z-index: 10;
    }

    /* inputs */
    .input-wrap .form-control,
    .input-wrap .form-select {
      padding-left: 42px !important;
    }

    /* textarea special fix */
    .input-wrap.textarea-wrap i {
      top: 20px;
      transform: none;
    }

    .input-wrap textarea.form-control {
      padding-left: 42px !important;
      padding-top: 16px;
    }

    /* ===== MOBILE ICON FIX ===== */

    .input-wrap {
      position: relative;
    }

    .input-wrap i {
      position: absolute;
      left: 26px;
      top: 42px;
      transform: translateY(-50%);
      font-size: 14px;
      z-index: 10;
    }

    /* inputs */
    .input-wrap .form-control,
    .input-wrap .form-select {
      padding-left: 42px !important;
    }

    /* textarea special fix */
    .input-wrap.textarea-wrap i {
      top: 20px;
      transform: none;
    }

    .input-wrap textarea.form-control {
      padding-left: 42px !important;
      padding-top: 16px;
    }

    /* ===== MOBILE CHECKBOX FIX ===== */

    .cf7-checkbox .wpcf7-form-control-wrap {
      display: block;
      width: 100%;
    }

    /* force checkbox + text in one row */
    .cf7-checkbox label {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      line-height: 1.4;
    }

    /* checkbox size + alignment */
    .cf7-checkbox input[type="checkbox"] {
      margin-top: 9px;
      /* aligns with first line of text */
      width: 14px;
      height: 14px;
      flex-shrink: 0;
    }

    /* text wrap fix */
    .cf7-checkbox .wpcf7-list-item-label {
      display: inline;
      font-size: 0.9rem;
    }



  }
