/** Shopify CDN: Minification failed

Line 167:1 Unexpected "/"

**/
.contact img {
  max-width: 100%;
}

.contact .form__message {
  align-items: flex-start;
}

.contact .icon-success {
  margin-top: 0.2rem;
}

.contact .field {
  margin-bottom: 1.5rem;
}

@media screen and (min-width: 750px) {
  .contact .field {
    margin-bottom: 2rem;
  }
}

.contact__button {
  margin-top: 3rem;
}

@media screen and (min-width: 750px) {
  .contact__button {
    margin-top: 4rem;
  }
}

@media screen and (min-width: 750px) {
  .contact__fields {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 2rem;
  }
}

/* Contact Form Field Styles - Similar to Footer Newsletter */
.contact .field__input,
.contact .text-area {
  background: #fff !important;
  border-radius: 80px;
  color: #000 !important;
  border: 0;
  height: 56px;
  font-family: 'NHaasGroteskDSPro';
  font-style: normal;
  font-weight: 500;
  font-size: 15px;
  line-height: 112%;
  padding: 0 24px;
  width: 100%;
  margin: 0;
  transition: all 0.2s ease;
}

/* Textarea specific styles */
.contact .text-area {
  border-radius: 24px;
  min-height: 120px;
  padding: 16px 24px;
  resize: vertical;
}

/* Field wrapper styles */
.contact .field {
  position: relative;
  margin-bottom: 16px;
}

/* Remove default field before/after styles */
.contact .field:before,
.contact .field:after {
  display: none;
}

/* Placeholder styles */
.contact .field__input::placeholder,
.contact .text-area::placeholder {
  color: #000 !important;
  opacity: 0.7 !important;
}

/* Focus styles */
.contact .field__input:focus,
.contact .text-area:focus {
  outline: none;
  background: #fff !important;
  border: 2px solid #f0ff0f !important;
  box-shadow: none;
}

/* Hide floating labels when using placeholders */
.contact .field__label,
.contact .form__label {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* Contact button styles */
.contact__button {
  margin-top: 24px;
}

.contact__button .button {
  background: #000;
  color: #f0ff0f;
  border: 1px solid #000;
  border-radius: 80px;
  height: 56px;
  padding: 0 40px;
  font-family: 'NHaasGroteskDSPro';
  font-weight: 700;
  font-size: 16px;
  line-height: 112%;
  text-transform: none;
  letter-spacing: -0.02em;
  cursor: pointer;
  transition: all 0.2s ease;
  width: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.contact__button .button:hover {
  background: #f0ff0f;
  color: #000;
  border: 1px solid #f0ff0f;
}

/* Remove box shadow on button after pseudo-element */
.contact__button .button::after {
  box-shadow: none !important;
}

/* Error state for input fields - only show after user interaction */
/* For text inputs that have been typed in */
/* .contact .field__input[type='text']:not(:placeholder-shown):invalid,
.contact .field__input[type='email']:not(:placeholder-shown):invalid,
.contact .field__input[type='tel']:not(:placeholder-shown):invalid,
.contact .text-area:not(:placeholder-shown):invalid {
  border: 2px solid #f91f31 !important;
}

/* Alternative: Show error after field loses focus (blur) */
.contact .field__input:not(:focus):not(:placeholder-shown):invalid,
.contact .text-area:not(:focus):not(:placeholder-shown):invalid {
  border: 2px solid #f91f31 !important;
}

/* For email fields specifically - only show error if value is not empty */
.contact input[type='email'].field__input:not(:placeholder-shown):not(:valid) {
  border: 2px solid #f91f31 !important;
}
*/

/* For modern browsers that support :user-invalid (Safari 16.5+, Chrome 119+) */
@supports selector(:user-invalid) {
  .contact .field__input:user-invalid,
  .contact .text-area:user-invalid {
    /* border: 2px solid #f91f31 !important; */
  }

  /* Remove the previous rules in browsers that support :user-invalid */
  .contact .field__input[type='text']:not(:placeholder-shown):invalid,
  .contact .field__input[type='email']:not(:placeholder-shown):invalid,
  .contact .field__input[type='tel']:not(:placeholder-shown):invalid,
  .contact .text-area:not(:placeholder-shown):invalid,
  .contact .field__input:not(:focus):not(:placeholder-shown):invalid,
  .contact .text-area:not(:focus):not(:placeholder-shown):invalid,
  .contact
    input[type='email'].field__input:not(:placeholder-shown):not(:valid) {
    border: 0;
  }
}

/* Keep server-side validation errors visible */
/* .contact .field--with-error .field__input,
.contact .field--with-error .text-area {
  border: 2px solid #f91f31 !important;
} */

/* Error message styles */
.contact .field--with-error .field__message {
  color: #f91f31;
  font-size: 14px;
  margin-top: 8px;
  font-family: 'NHaasGroteskDSPro';
}

/* Success message styles */
.contact .form__message {
  background: #f0ff0f;
  color: #000;
  padding: 16px 24px;
  border-radius: 16px;
  margin-bottom: 24px;
  font-family: 'NHaasGroteskDSPro';
  font-size: 15px;
  font-weight: 500;
}

/* Contact fields grid adjustment */
@media screen and (min-width: 750px) {
  .contact__fields {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 16px;
  }

  .contact__button {
    margin-top: 32px;
  }
}

/* Mobile styles */
@media screen and (max-width: 749px) {
  .contact__button .button {
    width: 100%;
  }
}
