.bg-testimonials {
  width: 100%;
  height: clamp(1px, 53.5vw, 2100px);
  background-image: url("../../images/custom/Testimonials/bg-testimonials.png");
  background-repeat: no-repeat;
  background-size: cover;
}

.bg-stone {
  width: 100%;
  height: auto;
  background-image: url("../../images/custom/Testimonials/bg-noice.png");
  background-repeat: no-repeat;
  background-size: cover;
}

.fs-13 {
  font-size: 13px;
}

.testimonials-jang img {
  width: 100%;
}

.testimonials-jang-modal img {
  width: 85%;
}

.quote {
  font-size: 7rem;
  margin-top: -2rem;
  margin-bottom: -5rem;
}

.stars {
  width: 100px;
  height: auto;
  margin-bottom: 2rem;
}

.bg-powder-blue {
  height: 100%;
  cursor: pointer;
}

.border-bottom-black {
  border-bottom: 1px solid black !important;
  border-radius: 0% !important;
}

.bg-powder-blue:hover {
  background-color: rgba(146, 191, 237, 0.3) !important;
  border-radius: 5% !important;
}

.bg-powder-blue:hover .border-bottom-black {
  border-bottom: none !important;
}

.arrow-bounce {
  animation: bounce-subtle 2s infinite ease-in-out;
}

@keyframes bounce-subtle {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
}

.testi-content {
  border-bottom: 2px solid #333333;
}

/* .testi-msg {
    height: clamp(1px, 7.5vw, 360px);
    overflow-y: auto;
} */

::-webkit-scrollbar {
    width: 8px !important;
}

::-webkit-scrollbar-thumb {
    background-color: #076abd;
    border-radius: 4px;
    border: 2px solid #f1f1f1;
}

.testi-modal-msg{
  height: clamp(1px, 20vw, 500px);
  overflow-y: auto;
}

.quote-img {
  width: clamp(1px, 2.5vw, 48px);
  height: auto;
}

.rate-img {
  width: clamp(1px, 7.56vw, 145px);
  height: auto;
}

.testi-img {
  width: clamp(1px, 3vw, 56px);
  height: clamp(1px, 3vw, 56px);
}

.testi-content:hover {
  background: rgb(86, 198, 238, 0.1);
  border-radius: 20px;
  border-bottom: 2px solid transparent;
}

.btn-testi {
  width: clamp(1px, 15.625vw, 600px);
  height: clamp(1px, 2.865vw, 110px);
  border: 2px solid #FDCE2E;
  background-color: transparent;
  color: #FDCE2E;
  padding-bottom: 1px;
}

.btn-testi:hover {
  background-color: #FFFFFF;
  border: 2px solid #FFFFFF;
  color: #333333;
}

/* Contact Form */

.contact-label input {
  width: clamp(1px, 32.813vw, 1260px);
  height: clamp(1px, 3.386vw, 130px);
  margin: 0;
  border: none;
  background-color: transparent !important;
  border-bottom: 2px solid #076abd;
  padding: 0px 5px;
}

.wpcf7-submit {
    background: transparent;
    width: clamp(1px,14.2953vw,420px);
    height: clamp(1px, 2.865vw, 110px);
    border: clamp(1px, 0.2vw, 6px) solid #076ABD;
    border-radius: 100px;
    padding: 0 !important;
}

.form-btn p {
    position: relative;
    width: 100%;
    margin: 0 !important;
}

.wpcf7-submit:hover {
    background-color: #076abd;
    border: clamp(1px, 0.2vw, 6px) solid #076abd;
    color: white !important;
}

.contact-label input:focus,
.contact-label input:focus-visible {
  outline: none;
  box-shadow: none;
}

textarea {
  width: clamp(1px, 32.813vw, 1260px);
  min-height: clamp(1px, 3.6vw, 140px);
  border: none;
  background-color: transparent !important;
  border-bottom: 2px solid #076abd;
  padding: clamp(1px, 1.1vw, 40px) 5px;
  margin: 0;
  max-height: clamp(1px, 3.6vw, 140px);
  transition: max-height 0.2s ease;
}

textarea:focus,
textarea:focus-visible {
  outline: none;
  box-shadow: none;
  max-height: clamp(1px, 10.5vw, 400px);
  border-bottom: 2px solid #076abd;
}

.contact-label label {
  color: #076abd !important;
  padding-top: 6px;
}

.contact-label label {
  transition: opacity 0.3s ease, transform 0.3s ease;
  opacity: 0;
  pointer-events: none;
}

@keyframes bounce {
  0% {
    transform: translateY(100%) scale(1);
  }

  80% {
    transform: translateY(0%) scale(1);
  }

  100% {
    transform: translateY(0%) scale(1.05);
  }
}

/* Ensure the label becomes visible when input is focused or filled */
.contact-label div:focus-within label,
.contact-label input:not(:placeholder-shown) + label,
.contact-label textarea:not(:placeholder-shown) + label {
  opacity: 1 !important;
  animation: bounce 0.5s;
}

/* For input and textarea, hide placeholder when filled or focused */
input:focus::placeholder,
textarea:focus::placeholder,
input:not(:placeholder-shown)::placeholder,
textarea:not(:placeholder-shown)::placeholder {
  opacity: 0;
  animation: bounce 0.5s;
}

/* When the input or textarea is focused, show the label */
.contact-label input:focus + label,
.contact-label textarea:focus + label,
.contact-label input.filled + label,
.contact-label textarea.filled + label {
  opacity: 1 !important;
  animation: bounce 0.5s;
}

.contact-label div.focused label,
.contact-label div.filled label {
  opacity: 1 !important;
}

.contact-label :-webkit-autofill,
.contact-label textarea:-webkit-autofill,
.contact-label select:-webkit-autofill {
  background-color: transparent !important;
  -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
  -webkit-text-fill-color: #333333 !important;
  caret-color: #333333 !important;
  transition: background-color 5000s ease-in-out 0s; 
}

.contact-label input:focus,
.contact-label textarea:focus {
  outline: none;
  background-color: transparent !important;
}

.animation-icon,
.mail-animation {
  position: relative;
}

.animation-icon img {
  width: clamp(1px, 57.292vw, 2200px);
  height: 100%;
}

.con-icon {
  position: absolute;
  top: 0;
  left: 0;
}

.mail-animation img {
  width: clamp(1px, 24.896vw, 956px);
  height: 100%;
}

.mail-animation-sm img {
  width: auto;
  height: clamp(1px, 15.021vw, 450px);
  position: relative;
}

.mail-icon-sm {
  width: auto;
  height: clamp(1px, 7vw, 450px) !important;
  position: relative;
}

.mail-icon {
  position: absolute;
  top: 0;
  left: 0;
}

.custom-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.4);
    padding-top: 10% !important;
}

.custom-modal-content {
    background-color: #fff;
    margin: 5% auto;
    padding: 20px;
    max-width: 600px;
    border-radius: 12px;
    width: 70% !important;
    height: auto !important;
    max-height: 600px;
    z-index: 1;
}

.modal-close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}

.modal-close:hover {
    color: #000;
}

@media (max-width: 767px) {
  .btn-testi {
      width: clamp(1px, 58.14vw, 300px);
      height: clamp(1px, 11.63vw, 50px) !important;
      border: 2px solid #FDCE2E;
  }

  .quote-img {
    width: clamp(1px, 12vw, 41px);
    height: auto;
  }
  
  .rate-img {
    width: clamp(1px, 32vw, 115px);
    height: auto;
  }

  .testi-img {
    width: clamp(1px, 16vw, 56px);
    height: auto;
  }

  .contact-label input {
    width: 100%;
    height: clamp(1px, 12.096vw, 65px);
  }

  textarea {
    width: 100%;
    min-height: clamp(1px, 12.096vw, 70px);
  }

  .wpcf7-submit {
    width: clamp(1px, 52.326vw, 280px);
    height: clamp(1px, 11.63vw, 50px) !important;
    border: clamp(1px, 0.6vw, 3px) solid #076abd;
  }

  .custom-modal{
    padding-top: 40% !important;
  }

    .custom-modal-content {
     position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 90% !important;
      height: auto !important;
  }

  /* .testi-msg {
    height: clamp(1px, 18.5vw, 360px);
    overflow-y: auto;
  } */

  .testi-modal-msg{
    height: clamp(1px, 50vw, 500px);
    overflow-y: auto;
  }

   .bg-testimonials {
    width: 100%;
    height: auto !important;
  }

  .testi-content:hover {
    background: none !important;
    border-bottom: var(--bs-border-width) solid rgba(51, 51, 51, 0.30) !important;
    border-radius: 0 !important;
  }

  .testi-content {
    border: 0;
    border-bottom: var(--bs-border-width) solid rgba(51, 51, 51, 0.30) !important; /* #333333 → rgba(51,51,51,0.30) */
  }
}