/* =========================
   form Ultra 2
========================= */
.form-ultra-2{
    position: relative;
    padding:90px 0;
    background: var(--color-white);
}

.form-ultra-2 *{ box-sizing: border-box; }



.form-ultra-2 .text-side h3{
       margin: 0 0 2.8rem;
    text-align: right;
    color: var(--color-primary);
    display: inline-block;
    z-index: 1;
    font-size: 2rem;
    font-weight: 900;
    color: var(--color-primary);
    background: var(--color-secondary);
    width: 40rem;
    padding: 1.4rem;
}


.form-ultra-2 .content{
    position: relative;
    z-index: 2;
    clear: both;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 70px;
}

/* =========================
   Text Side
========================= */
.form-ultra-2 .text-side{
    flex: 1 1 560px;
    max-width: 600px;
    text-align: right;
}

.form-ultra-2 .text-side h4{
    margin: 0 0 14px;
    font-size: 26px;
    font-weight: 900;
    line-height: 1.55;
    color: var(--color-primary);
}

.form-ultra-2 .text-side p{
    margin: 0 0 18px;
    max-width: 560px;
    font-size: 13px;
    line-height: 2.05;
    color: rgba(52,52,52,.78);
}




/* =========================
   form Side
========================= */
.form-ultra-2 .form-side{
   position: relative;
    flex: 0 0 700px;
    background-color: white;
    min-height: 500px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    border: 1px solid rgba(17, 41, 49, 0.08);
    align-items: center;
    justify-content: flex-start;
    padding: 20px;
}
.form-ultra-2 .form-side .title{
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    font-weight: 900;
    font-size: 24px;
    justify-content: space-between;
}
.form-ultra-2 .form-side .title b {
    color: var(--color-primary);
    text-decoration: underline;
}
.form-ultra-2 .form-side .title svg{
    background-color: var(--color-secondary);
    width: 56px;
    height: 56px;
    padding: 15px;
}

.form-ultra-2 .form-side::before{
    content:"";
    position:absolute;
    left: -50px;
    bottom:80px;
    width: 400px;
    height: 460px;
    background: var(--color-primary);
    z-index: -1;
    clip-path: polygon(40% 0, 100% 0, 100% 100%, 0 100%, 0 40%);
}

.form-ultra-2 .form-side::after{
    content: "";
    white-space: pre;
    position: absolute;
    right: -5rem;
    bottom: -5rem;
    width: 230px;
    height:230px;
    padding:18px;
    text-align: right;
    color: var(--color-white);
    font-weight: 900;
    font-size: 26px;
    line-height: 1.25;
    background: var(--color-primary);
    z-index: -1;
    clip-path: polygon(0 0, 100% 0, 100% 50%, 50% 100%, 0 100%);
    box-shadow: inset 0 -16px 0 rgba(0,0,0,0);
}

/* ---------- Grid rows ---------- */
.form-ultra-2 .ucf-row--two{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.2rem;
  margin-bottom: 2.2rem;
}

.form-ultra-2 .ucf-row--one{
  margin-bottom: 2.2rem;
}

.form-ultra-2 .ucf-row--actions{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.4rem;
}

/* ---------- Labels ---------- */
.form-ultra-2 .ucf-label,
.form-ultra-2 label{
  display: block;
  margin: 0 0 .9rem;
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--color-black);
  text-align: right;
}

/* ---------- Inputs / Textarea (generic for plugins) ---------- */
.form-ultra-2 :is(input[type="text"], input[type="tel"], input[type="email"], input[type="url"], textarea, select){
  width: 100%;
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(52,52,52,.20);
  padding: 1.6rem 1.8rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-black);
  min-width: 0;
}

/* Placeholder */
.form-ultra-2 :is(input, textarea)::placeholder{
  color: rgba(52,52,52,.35);
  font-weight: 700;
}

/* Big textarea like design */
.form-ultra-2 textarea{
  min-height: 22rem;
  resize: none;
}

/* Focus */
.form-ultra-2 :is(input, textarea, select):focus{
  outline: 2px solid rgba(237,85,33,.35);
  outline-offset: 0;
  box-shadow: 0 18px 34px rgba(0,0,0,.10);
}

/* ---------- Note text (right) ---------- */
.form-ultra-2 .ucf-note,
.form-ultra-2 .form-note{
  margin: 0;
  font-size: 1.6rem;
  font-weight: 900;
  color: rgba(52,52,52,.75);
  text-align: right;
}

/* ---------- Submit button (left) ---------- */
.form-ultra-2 :is(.ucf-submit, .wpcf7-submit, .gform_button, .elementor-button){
  position: relative;
  cursor: pointer;
  height: 5.6rem;
  min-width: 15.5rem;
  padding: 0 2.2rem 0 6.2rem; /* جا برای آیکن سمت چپ */
  background-color: var(--color-primary);
  color: var(--color-white);
  font-weight: 900;
  font-size: 1.6rem;
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  /* آیکن + ناحیه تیره سمت چپ مثل طرح */
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M14 7l-5 5 5 5'/%3E%3C/svg%3E"),
    linear-gradient(90deg, rgba(0,0,0,.14) 0%, rgba(0,0,0,.14) 34%, var(--color-primary) 34%, var(--color-primary) 100%);
  background-repeat: no-repeat, no-repeat;
  background-position: 2.2rem 50%, 0 0;
  background-size: 2rem 2rem, 100% 100%;
}

/* Hover (خیلی ملایم) */
.form-ultra-2 :is(.ucf-submit, .wpcf7-submit, .gform_button, .elementor-button):hover{
  filter: brightness(1.03);
  box-shadow: 0 18px 34px rgba(0,0,0,.14);
  transform: translateY(-1px);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

/* ---------- CF7 reset small things ---------- */
.form-ultra-2 .wpcf7 p{ margin: 0; }
.form-ultra-2 .wpcf7-response-output{
  margin-top: 1.2rem;
  font-weight: 800;
  color: var(--color-primary);
}

/* ---------- Responsive ---------- */
@media (max-width: 620px){
  .form-ultra-2 .ucf-row--two{
    grid-template-columns: 1fr;
  }

  .form-ultra-2 .ucf-row--actions{
    flex-direction: column;
    align-items: stretch;
  }

  .form-ultra-2 :is(.ucf-submit, .wpcf7-submit, .gform_button, .elementor-button){
    width: 100%;
  }

  .form-ultra-2 .ucf-note,
  .form-ultra-2 .form-note{
    text-align: center;
  }
}



/* =========================
   Responsive
========================= */
@media (max-width: 992px){
    .form-ultra-2{ padding: 34px 24px 40px; }
    .form-ultra-2 .content{
        flex-direction: column;
        align-items: flex-start;
        gap: 36px;
    }
   
}

@media (max-width: 520px){
    .form-ultra-2 .text-side h4{ font-size: 22px; }
    .form-ultra-2 .form-side img{
        width: 260px;
        height: 220px;
    }
    .form-ultra-2 .form-side::before{
        width: 290px;
        height: 270px;
    }
    .form-ultra-2 .form-side::after{
        left: 210px;
        width: 135px;
        height: 120px;
        font-size: 24px;
    }
}
