.text.desktop-form-md-6.aem-GridColumn.aem-GridColumn--default--12 {
    width: 50%;

    @media screen and (max-width: 1024px) {
      width: 100%;
    }
}

.text.padding-right.aem-GridColumn.aem-GridColumn--default--12 {
   padding-right: 20px;

   @media screen and (max-width: 1024px) {
      padding-right: 0;
    }
}

.cmp-form-text,
.cmp-form-options {
      margin-bottom: 20px;
}
/* Label styling with required asterisk */
label {
  display: block;
  font-weight: 600;
  font-size:14px;
  margin-bottom: 10px;
  color: #333;
}

.cmp-form-text:has(input[required]) > label::after {
  content: " *";
  color: #bd03f7;
  /* font-weight: bold; */
  font-size: 16px;
}

.cmp-form-text:has(textarea[required]) > label::after {
  content: " *";
  color: #bd03f7;
  font-weight: 400;
  font-size: 16px;
}

/* Input field styling */
input[type="text"],
input[type="email"],
textarea {
  width: 100%;
  padding: 10px 20px;
  font-size: 1rem;
  border: 1px solid #ccc;
  border-radius: 2px;
  box-sizing: border-box;
  line-height: 20px;
  background-color: #fff;
  transition: border-color 0.3s ease;
}

/* Focus state */
input:focus,
textarea:focus {
  /* border-color: #0057b8; */
  outline: none;
}

#req-acc {
    border: 1px solid #bfbfbf;
    border-radius: 4px;
    background-color: #f2f2f2;
    margin-bottom: 30px;
    padding: 10px;

    p{
      padding: 0;
    }
}

/* Textarea specific */
textarea {
  resize: vertical;
  min-height: 100px;
}
/* Common button styles */
div.form-button-primary {
	padding-top : 20px;
    width: auto !important;
}

div.form-button-secondary {
	padding-top : 20px;
    width: auto !important;
}

button.cmp-form-button {
  padding: 12px 24px;
  font-size: 1rem;
  font-weight: 600;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  margin-right: 12px;
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* Submit button */
.button.form-button-primary button{
       background-color: transparent;
       border: .125rem solid #bd03f7;
       border-radius: 1.25rem;
       -webkit-box-sizing: border-box;
       font-family: var(--micron-medium-value);
       font-size: .9375rem;
       letter-spacing: .065625rem;
       line-height: 1;
       font-weight:400;
       text-transform: uppercase;
       text-decoration: none;
       width: -webkit-fit-content;
       width: -moz-fit-content;
       width: fit-content;
}

.button.form-button-primary button:hover{
  color: #bd03f7;
}


/* Cancel button */
.button.form-button-secondary button {
 background-color: transparent;
    border: .125rem solid #8C8C8C;
    border-radius: 1.25rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    cursor: pointer;
    font-family: var(--micron-medium-value);
    font-size: .9375rem;
    letter-spacing: .065625rem;
    line-height: 1;
    font-weight:400;
    text-transform: uppercase;
    text-decoration: none;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.cmp-form-options select {
    width: 100%;
    padding: 10px 20px;
    font-size: 1rem;
    border: 1px solid #ccc;
    border-radius: 2px;
    box-sizing: border-box;
    line-height: 20px;
    background-color: #fff;
    transition: border-color 0.3s ease;
    appearance: none;
}

.button.form-display-block {
    display: inline-block;
    width: auto !important;
    margin-right: 12px;
    vertical-align: top;
}

.cmp-form {
    @media screen and (max-width: 768px) {
      padding: 20px;
    }
}

#contact-us-form {
    @media screen and (max-width: 768px) {
      padding: 0px;
    }
}


.success-message {
  color: green;
  font-size: 0.9em;
  margin-bottom: 9px;
}

.cmp-form-text{
    position: relative;
}

.error-message {
  color: red;
  font-size: 0.9em;
  margin-bottom: 9px;
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 4px;
  line-height: 1.2;
}

.g-recaptcha + .error-message {
    position: unset;
}

#contact-us-form {
    border-right: 1px solid #bfbfbf;
    width: 98%;
    padding-right: 32px;

    @media screen and (max-width: 1024px) {
      border-right: none;
      width: 100%;
      padding-right: 0;
    }
}

div:has(> #contact-us-teaser-container) {
 @media screen and (max-width: 1024px) {
    width: unset;
  }
    
  @media screen and (max-width: 768px) {
    margin: 0px;
  }
}

div:has(> #contact-us-form) {
 @media screen and (max-width: 1024px) {
    width: 100%;
  }
}

.cmp-form-options--drop-down {
      position: relative;
}

.cmp-form-options--drop-down .material-icons{
    position: absolute;
    right: 0.5rem;
    top: 71%;
    transform: translateY(-50%);
    pointer-events: none;
    color: #bd03f7;
}

@media screen and (max-width: 426px) {
 #contact-us-form .g-recaptcha > div {
   transform: scale(0.84);   /* optional: scale down contents */
   transform-origin: 0 0;    /* keeps it aligned top-left */
 }
}

@media screen and (min-width: 360px) and (max-width: 426px) {
  .g-recaptcha > div {
   transform: scale(0.75);
   transform-origin: 0 0;
 }
}

@media screen and (min-width: 426px) and (max-width: 576px) {
  .g-recaptcha > div {
   transform: scale(0.84);
   transform-origin: 0 0;
 }
}

#contact-us-teaser-container .cmp-teaser {
    padding-left: 0;
    
     @media screen and (max-width: 426px) {
     	min-width: 13.25rem;
     }
}

@media screen and (max-width: 1024px) {
  #contact-us-teaser-container .teaser:first-of-type .cmp-teaser {
  padding-top: 40px;
  }
  
  #contact-us-teaser-container .teaser:not(:first-of-type) .cmp-teaser {
  padding-top: 0;
  }
}

.layout-container:has(#contact-us-form-container) {
    @media screen and (max-width: 1024px) {
     	flex-direction: column;
     }
}

.col-1:has(#contact-us-form-container) {
    @media screen and (max-width: 1024px) {
     	width: 100%;
     }
}

@media screen and (max-width: 1024px) {
 .col-2:has(#contact-us-teaser-container) {
   width: 100%;
 }
}