/* Base form styles */
.mktoForm {
  font-family: "DM Sans", sans-serif !important;
  color: var(--_theme---text);
  font-size: inherit !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 0 20px;
  width: 100% !important;
}

.mktoHtmlText .mktoHasWidth {
  width: 100% !important;
  grid-column: span 2;

}

/* Reset Marketo's inline widths */
.mktoForm .mktoFormRow,
.mktoForm .mktoFieldDescriptor,
.mktoForm .mktoFieldWrap,
.mktoForm .mktoField,
.mktoForm .mktoLabel {
  width: 100% !important;
}

.mktoForm .mktoOffset,
.mktoForm .mktoGutter {
  display: none;
}

/* Header row - target by content */
.mktoForm .mktoFormRow:has(.mktoHtmlText):not(:has(.mktoCheckboxList)) {
  grid-column: span 2;
  text-align: center;
  color: var(--_theme---text);
}

/* Textarea row full width */
.mktoForm .mktoFormRow:has(textarea) {
  grid-column: span 2;
}

/* Hide placeholder rows completely */
.mktoForm .mktoFormRow:has(.mktoPlaceholder) {
  display: none !important;
}

/* Field wrap layout */
.mktoFieldWrap {
  display: flex !important;
  flex-direction: column !important;
}

.mktoFormCol {
  margin-bottom: 1rem !important;
}

/* Label styles */
.mktoForm .mktoLabel {
  font-family: "DM Sans Mono", sans-serif !important;
  width: 100% !important;
  color: var(--swatch--brand-2);
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 0.5rem !important;
}

.mktoForm .mktoAsterix {
  order: 1;
  color: red;
}

/* Input styles */
.mktoForm input[type="text"],
.mktoForm input[type="email"],
.mktoForm input[type="tel"],
.mktoForm select {
  border-radius: 99vw !important;
  border: 1px solid var(--_theme---grid-stroke) !important;
  min-height: 2.5rem !important;
  padding-left: 1rem !important;
  box-shadow: none !important;

}

.mktoForm textarea {
  border-radius: 0.75rem !important;
  border: 1px solid var(--_theme---grid-stroke) !important;
  min-height: 2.5rem !important;
  padding-left: 1rem !important;
}

.mktoForm span {
  color: var(--_theme---text) !important;
}

/* Consent rows */
.mktoForm .mktoFormRow:has(#privacyPolicyAgreement),
.mktoForm .mktoFormRow:has(#Consent_to_Processing__c) {
  grid-column: span 2;
  display: grid !important;
  grid-template-columns: auto 1fr;
  align-items: start !important;
  gap: 10px !important;
}

/* Hide empty label and unnecessary elements in consent rows */
.mktoForm .mktoFormRow:has(#privacyPolicyAgreement) .mktoLabel,
.mktoForm .mktoFormRow:has(#Consent_to_Processing__c) .mktoLabel,
.mktoForm .mktoFormRow:has(.mktoCheckboxList) .mktoOffset,
.mktoForm .mktoFormRow:has(.mktoCheckboxList) .mktoGutter,
.mktoForm .mktoFormRow:has(.mktoCheckboxList) .mktoClear {
  display: none !important;
}

/* Checkbox column */
.mktoForm .mktoFormRow:has(#privacyPolicyAgreement)>.mktoFieldDescriptor,
.mktoForm .mktoFormRow:has(#Consent_to_Processing__c)>.mktoFieldDescriptor {
  width: auto !important;
}

.mktoForm .mktoFormRow:has(#privacyPolicyAgreement) .mktoFieldWrap,
.mktoForm .mktoFormRow:has(#Consent_to_Processing__c) .mktoFieldWrap {
  flex-direction: row !important;
  align-items: center !important;
}

/* Checkbox styling */
.mktoForm .mktoCheckboxList {
  width: auto !important;
}

/* Text column */
.mktoForm .mktoFormRow:has(#privacyPolicyAgreement)>.mktoFormCol:not(.mktoFieldDescriptor),
.mktoForm .mktoFormRow:has(#Consent_to_Processing__c)>.mktoFormCol:not(.mktoFieldDescriptor) {
  width: auto !important;
}

/* Asterisk for consent - hide since checkbox is the indicator */
.mktoForm .mktoFormRow:has(#privacyPolicyAgreement) .mktoAsterix,
.mktoForm .mktoFormRow:has(#Consent_to_Processing__c) .mktoAsterix {
  display: none;
}

/* Button styling */
.mktoForm .mktoButtonRow {
  grid-column: span 2;
  text-align: center;
}

.mktoForm .mktoButtonWrap {
  margin-left: 0 !important;
}

.mktoForm>.mktoFormRow:first-child {
  grid-column: span 2;
  text-align: center;
}

.mktoForm>.mktoFormRow:first-child .mktoHtmlText {
  width: 100% !important;
}

/* Mobile - single column */
@media (max-width: 767px) {
  .mktoForm {
    grid-template-columns: 1fr !important;
  }

  /* All rows single column */
  .mktoForm .mktoFormRow,
  .mktoForm .mktoFormRow:has(.mktoHtmlText):not(:has(.mktoCheckboxList)),
  .mktoForm .mktoFormRow:has(textarea),
  .mktoForm .mktoFormRow:has(#privacyPolicyAgreement),
  .mktoForm .mktoFormRow:has(#Consent_to_Processing__c),
  .mktoForm .mktoButtonRow {
    grid-column: span 1;
  }
}

.mktoHasWidth {
  width: 100% !important;
}

.mktoForm .mktoFormCol {

  float: none !important;
  align-items: center !important;
}

.mktoForm .mktoButtonWrap.mktoMinimal .mktoButton {
  background: var(--swatch--brand-2) !important;
  border-radius: 99vw !important;

  border: 1px solid var(--_theme---grid-stroke);
  !important;

  font: bold 16px / 1 "DM Sans", helvetica, arial, sans-serif !important;
  padding: 8px 0 9px;
  text-align: center;
  text-shadow: none !important;
  width: 100% !important;
  min-height: 2.5rem !important;
  text-transform: uppercase;
  box-shadow: none !important;
}

.mktoForm .mktoButtonWrap.mktoMinimal .mktoButton:hover {
  background: #111 !important;
  color: var(--swatch--light) !important;

}

[data-form-layout="single"] {
  .mktoForm {
    grid-template-columns: 1fr !important;
  }

  /* All rows single column */
  .mktoForm .mktoFormRow,
  .mktoForm .mktoFormRow:has(.mktoHtmlText):not(:has(.mktoCheckboxList)),
  .mktoForm .mktoFormRow:has(textarea),
  .mktoForm .mktoFormRow:has(#privacyPolicyAgreement),
  .mktoForm .mktoFormRow:has(#Consent_to_Processing__c),
  .mktoForm .mktoButtonRow {
    grid-column: span 1;
  }
}

#ValidMsgEmail,
.mktoForm .mktoError .mktoErrorMsg {
  display: block;
  margin-top: 7px;
  background-color: #ED1250 !important;
  background-image: none !important;
  background-image: none !important;
  background-image: none !important;
  background-image: none !important;
  border: 1px solid #9f1300;
  -webkit-border-radius: 6px;
  border-radius: 6px;
  -webkit-box-shadow: none !importan;
  box-shadow: 4px 4px 0 0 var(--_theme---background);
  color: #f3f3f3;
  font-size: 1em;
  line-height: 1.2em;
  max-width: 16em;
  padding: 0.4em 0.6em;
  text-shadow: none !important;
  background-image: none !important;
}

.mktoButton {
  background: var(--swatch--brand-2) !important;
  border-radius: 99vw !important;

  border: 1px solid var(--_theme---grid-stroke);
  !important;

  font: bold 16px / 1 "DM Sans", helvetica, arial, sans-serif !important;
  padding: 8px 0 9px;
  text-align: center;
  text-shadow: none !important;
  width: 100% !important;
  min-height: 2.5rem !important;
  text-transform: uppercase;
  box-shadow: none !important;
}
