/* WRAPPER */
.cf7-custom-form {
  max-width: 760px;
  margin: 0 auto;
  font-family: inherit;
}

/* ROW */
.cf7-custom-form .cf7-row {
  margin-bottom: 18px;
}

/* GRID 2 COLUMNS */
.cf7-custom-form .cf7-two-col {
  display: flex;
  gap: 18px;
}

.cf7-custom-form .cf7-col {
  flex: 1;
}

/* INPUT STYLE */
.cf7-custom-form input[type="text"],
.cf7-custom-form input[type="email"],
.cf7-custom-form input[type="tel"],
.cf7-custom-form input[type="date"],
.cf7-custom-form textarea {
  font-family: "TAY Barro";
  width: 100%;
  background: #d6e4de;
  border: 2px solid transparent;
  border-radius: 16px;
  padding: 18px 22px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  outline: none;
  color: #0a3b2d;
  box-sizing: border-box;
}

/* PLACEHOLDER */
.cf7-custom-form input::placeholder,
.cf7-custom-form textarea::placeholder {
  color: #2a6b58;
  opacity: 0.7;
  font-weight: 700;
  font-family: "TAY Barro";
}

/* FOCUS BORDER GREEN */
.cf7-custom-form input:focus,
.cf7-custom-form textarea:focus,
.cf7-custom-form input:hover,
.cf7-custom-form textarea:hover {
  background: rgb(0 90 54 / 10%);
}

.cf7-custom-form input:active,
.cf7-custom-form textarea:active,
.cf7-custom-form input:focus,
.cf7-custom-form textarea:focus {
  border-color: #005a36;
}

/* ERROR STYLE (CF7 INVALID) */
.cf7-custom-form .wpcf7-not-valid {
  border-color: #7f0000 !important;
}

/* ERROR MESSAGE */
.cf7-custom-form .wpcf7-not-valid::placeholder {
  color: #7f000080 !important;
  opacity: 1 !important;
}
.wpcf7-list-item {
  margin: 0 0 0 0;
}
body .wpcf7-not-valid-tip {
  color: #7f0000;
}
/* RADIO TITLE */
.cf7-custom-form .cf7-radio-title p {
  margin-top: 30px;
  font-size: 18px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #0d4b38;
  line-height: 15px;
  font-family: "TAY Barro";
}

/* RADIO GROUP */
.cf7-custom-form .cf7-radio-group .wpcf7-form-control {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* RADIO LABEL */
.cf7-custom-form .cf7-radio-group label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 600;
  text-transform: lowercase;
  color: #0d4b38;
}

/* RADIO INPUT CUSTOM */
.cf7-custom-form input[type="radio"] {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  accent-color: #0d4b38;
}

/* NEWSLETTER CHECKBOX */
.cf7-custom-form .cf7-newsletter label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #0d4b38;
}

/* CHECKBOX STYLE */
.cf7-custom-form input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #0d4b38;
}

/* SUBMIT ROW ALIGN RIGHT */
.cf7-custom-form .cf7-submit-row {
  display: flex;
  justify-content: flex-end;
  margin-top: -15px;
}

/* SUBMIT BUTTON */
.cf7-custom-form input[type="submit"] {
  background: #0d4b38;
  color: #fff;
  border: none;
  padding: 14px 28px;
  border-radius: 30px;
  font-size: 14px;
  cursor: pointer;
  font-family: "Switzer-Regular" !important;
  font-size: 20px;
  line-height: 20px;
  transition: 0.2s ease;
}

.cf7-custom-form input[type="submit"]:hover {
  transform: translateY(-2px);
  opacity: 0.95;
}

/* REMOVE CF7 RESPONSE BOX STYLE */
.cf7-custom-form .wpcf7-response-output {
  border-radius: 14px;
  font-size: 13px;
  padding: 12px 16px;
}
/* ===== RESET INPUT ===== */
.wpcf7-form-control input[type="radio"],
.wpcf7-form-control input[type="checkbox"] {
  display: none;
}
.wpcf7-list-item-label {
  display: flex;
  gap: 14px;
  font-family: "Switzer-Regular";
  font-weight: 400;
  font-size: 16px;
}

.wpcf7-list-item label {
  display: flex;
  align-items: center;
  cursor: pointer;
  font-family: "TAY Barro";
}

.wpcf7-list-item-label::before {
  content: "";
  width: 20px;
  font-family: "TAY Barro";
  height: 20px;
  border-radius: 50%;
  background: #005a3633;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0px;
  color: #000000;
  transition: all 0.25s ease;
}

.cf7-newsletter .wpcf7-list-item-label {
  font-family: TAY Barro;
  font-weight: 400;
  font-size: 18px;
  line-height: 15px;
}
.wpcf7-form-control
  input[type="radio"]:checked
  + .wpcf7-list-item-label::before {
  content: "";
  font-weight: 600 !important;
  background-image: url(../images/checkbox.svg);
  background-size: 13px;
  background-repeat: no-repeat;
  background-position: center;
}

/* ===== CHECKBOX CHECKED ===== */
.wpcf7-form-control
  input[type="checkbox"]:checked
  + .wpcf7-list-item-label::before {
  content: "";
  font-weight: 600 !important;
  background-image: url(../images/checkbox.svg);
  background-size: 13px;
  background-repeat: no-repeat;
  background-position: center;
}
.cf7-recaptcha p {
  font-family: "Switzer-Regular";
  font-weight: 400;
  font-size: 10px;
  line-height: 100%;
  color: #000;
}

.cf7-recaptcha a {
  font-family: "Switzer-Regular";
  font-size: 10px;
  color: #000;
  text-decoration: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
}

.cf7-recaptcha a:hover {
  opacity: 0.7;
}
.cf7-row.cf7-recaptcha {
  margin-top: 60px;
}
.cf7-submit-row p {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 5px;
}

/* moblie nav active */
.nav-menu-mobile li a {
  position: relative;
  display: inline-block;
  text-decoration: none;
  padding-bottom: 5px;
}

.nav-menu-mobile li a::before,
.nav-menu-mobile li a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 3px;
  width: 100%;
  height: 11px;
  background-image: url(../images/underline-green.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease; 
}



.nav-menu-mobile li:hover a::before,
.nav-menu-mobile li:hover a::after,
.nav-menu-mobile li.current-menu-item a::before,
.nav-menu-mobile li.current-menu-item a::after {
  opacity: 1;
}

.nav-menu-mobile li a:hover::before {
  animation-name: wiggle-gentle;
  animation-duration: 0.5s; 
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}

.nav-menu-mobile li a:hover::after {
  animation-name: wiggle-gentle;
  animation-duration: 0.6s; 
  animation-iteration-count: infinite;
  animation-direction: reverse;
  opacity: 0.3;
}
.wpml-ls-sub-menu.visible {
  visibility: visible !important;
}
@keyframes wiggle-gentle {
  0%, 100% { 
    transform: translate(0, 0) rotate(0deg); 
  }
  25% { 
    transform: translate(0.5px, -0.5px) rotate(-0.2deg); 
  }
  50% { 
    transform: translate(-0.5px, 0.5px) rotate(0.2deg); 
  }
  75% { 
    transform: translate(0.3px, 0.3px) rotate(-0.1deg); 
  }
}

/*  */
.nav-menu-mobile .menu {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
