@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700;800&display=swap");

/* Linked only from the staging signup template — beats amember.css .am-main */
html, body {
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
}
div.am-layout,
div.am-body,
div.am-body-content-wrapper,
div.am-body-content-wrapper.am-main,
div.am-main,
div.am-body-content {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
  background: #ffffff !important;
}
@media (max-width: 767px) {
  html, body,
  div.am-layout,
  div.am-header,
  div.am-footer,
  div.am-body,
  div.am-body-content-wrapper,
  div.am-body-content-wrapper.am-main,
  div.am-main,
  div.am-body-content,
  div.am-signup,
  div.am-form {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: #ffffff !important;
  }
  .am-body-content > h1 { display: none !important; }
  .certevia-signup-header,
  .cv-signup-scent,
  .certevia-signup-footer {
    padding-left: 8px !important;
    padding-right: 8px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* aMember signup — Certevia brand + width
   Load on signup layout / staging theme only.
*/

.am-page-signup,
.am-page-signup body,
.am-layout {
  font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
  color: #222222;
  background: #ffffff;
}

.am-page-signup .am-layout,
.am-page-signup .am-body,
.am-page-signup .am-body-content-wrapper,
.am-page-signup .am-body-content-wrapper.am-main,
.am-page-signup .am-main,
.am-page-signup .am-body-content,
.am-page-signup .am-signup,
.am-page-signup .am-form,
.am-page-signup form.am-signup-form {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

.am-page-signup .am-body,
.am-page-signup .am-body-content-wrapper,
.am-page-signup .am-body-content {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

.am-page-signup h1,
.am-page-signup h2,
.am-page-signup label,
.am-page-signup .am-element-title,
.am-page-signup .am-product-title,
.am-page-signup .am-paysystem-title,
.am-page-signup input,
.am-page-signup select,
.am-page-signup .comment {
  font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
}

.certevia-signup-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 16px;
}

.certevia-signup-logo img {
  max-width: 190px;
  height: auto;
}

.certevia-signup-trust {
  font-size: 13px;
  line-height: 1.4;
  color: #5C5E62;
  text-align: right;
}

.certevia-signup-footer {
  margin: 24px 0 8px;
  font-size: 13px;
  color: #5C5E62;
}

.cv-signup-scent {
  margin: 0 0 16px;
  padding: 14px 16px;
  background: #F3F7F2;
  border: 1px solid #D9E0D6;
}
.cv-signup-scent-kicker {
  margin: 0 0 4px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #BA5826;
}
.cv-signup-scent h2 {
  margin: 0 0 6px;
  font-size: 20px;
  line-height: 1.25;
  color: #4D8C40;
  font-weight: 700;
}
.cv-signup-scent-meta {
  margin: 0 0 6px;
  font-size: 15px;
  font-weight: 700;
  color: #222222;
}
.cv-signup-scent-trust {
  margin: 0;
  font-size: 13px;
  color: #5C5E62;
}

.cv-duval-note {
  display: none !important;
  margin: 10px 0 0;
  padding: 12px 14px;
  border: 1px solid #D9E0D6;
  background: #F3F7F2;
  color: #222222;
  font-size: 14px;
  line-height: 1.45;
}
.cv-duval-note.is-visible {
  display: block !important;
}

.am-page-signup .am-cta-signup,
.am-page-signup input.am-cta-signup {
  background: #BA5826 !important;
  border: 0 !important;
  border-bottom: 3px solid #9A4A20 !important;
  color: #ffffff !important;
  font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
  font-weight: 700;
}

@media (max-width: 767px) {
  html,
  body.am-page-signup,
  .am-page-signup,
  .am-page-signup .am-layout,
  .am-page-signup .am-header,
  .am-page-signup .am-footer,
  .am-page-signup .am-body {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
  }

  html.am-page-signup,
  html.am-page-signup body {
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
  }

  .am-page-signup .am-body-content-wrapper,
  .am-page-signup .am-body-content-wrapper.am-main,
  .am-page-signup .am-main,
  .am-page-signup .am-body-content,
  .am-page-signup .am-signup,
  .am-page-signup .am-form,
  .am-page-signup form.am-signup-form {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 8px 0 16px !important;
    border: 0 !important;
    box-shadow: none !important;
    background: #ffffff !important;
  }

  .am-page-signup .certevia-signup-header,
  .am-page-signup .cv-signup-scent,
  .am-page-signup .certevia-signup-footer,
  .am-page-signup .am-info,
  .am-page-signup .am-row,
  .am-page-signup fieldset {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .certevia-signup-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .certevia-signup-trust {
    text-align: left;
  }

  .am-page-signup .am-row,
  .am-page-signup .am-element-title,
  .am-page-signup .am-element,
  .am-page-signup .am-element.group {
    display: block !important;
    width: 100% !important;
    float: none !important;
    box-sizing: border-box;
  }

  .am-page-signup .am-element input[type="text"],
  .am-page-signup .am-element input[type="password"],
  .am-page-signup .am-element input[type="email"],
  .am-page-signup .am-element select,
  .am-page-signup .am-el-wide,
  .am-page-signup #name_f,
  .am-page-signup #name_l {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    margin: 0 0 8px;
  }

  .am-page-signup .am-cta-signup,
  .am-page-signup input.am-cta-signup {
    width: 100%;
    min-height: 44px;
  }
}

@media (max-width: 767px) {
  .am-row,
  .am-row.row,
  .am-element-title,
  .am-element,
  .am-element.group,
  fieldset,
  fieldset .fieldset {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    box-sizing: border-box !important;
  }

  .am-element-title label,
  .am-element-title .comment,
  .am-product-title,
  .am-product-terms,
  .am-product-desc,
  .am-paysystem-title,
  .am-paysystem-desc,
  .agreement {
    display: block;
    max-width: 100% !important;
    white-space: normal !important;
  }

  .am-element input[type="text"],
  .am-element input[type="password"],
  .am-element input[type="email"],
  .am-element input[type="tel"],
  .am-element select,
  .am-el-wide,
  #name_f,
  #name_l,
  #email-0,
  #login-0,
  #pass-0,
  #pass-confirm,
  #street-0,
  #city-0,
  #zip-0,
  #f_country,
  #f_state,
  #t_state,
  #filing_state-0,
  #filing_county-0,
  #daytime_phone-0,
  #children_11-0,
  #mycustom_hear-0,
  #coupon-0 {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  input.am-cta-signup,
  .am-cta-signup {
    width: calc(100% - 16px) !important;
    margin-left: 8px !important;
    margin-right: 8px !important;
  }
}

/* aMember uses min-width:500px two-column rows. Force one column on phones
   once a real viewport exists (width=device-width). */
@media all and (max-width: 767px) {
  .am-form div.am-row,
  .am-form div.am-row.row {
    display: block !important;
    width: 100% !important;
  }
  .am-form div.am-element-title,
  .am-form div.am-element-title.element-title {
    width: 100% !important;
    float: none !important;
    text-align: left !important;
    padding: 8px 8px 0 !important;
    margin: 0 !important;
  }
  .am-form div.am-element,
  .am-form div.am-element.element,
  .am-form div.am-element.group {
    width: 100% !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 4px 8px 12px !important;
  }
  .am-form input[type="text"],
  .am-form input[type="password"],
  .am-form input[type="email"],
  .am-form select,
  .am-form .am-el-wide {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    box-sizing: border-box !important;
  }
}

/* Page 2 Back is an <a>, Next is input.am-cta-signup */
#row-buttons.am-row,
#row-buttons .am-element.group {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
#row-buttons a,
#row-buttons a[href*="_back"] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 18px;
  background: #ffffff !important;
  color: #BA5826 !important;
  border: 2px solid #BA5826 !important;
  font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
  font-weight: 700;
  font-size: 16px;
  text-decoration: none !important;
  box-sizing: border-box;
}
#row-buttons a:hover,
#row-buttons a:focus {
  background: #F3F7F2 !important;
}

.agreement ul {
  margin: 0 0 8px 1.15em;
  padding: 0;
}
.agreement li {
  margin: 0 0 8px;
  line-height: 1.45;
}
.agreement li span {
  font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
}

/* Agreement block — template for all signup pages */
.agreement {
  max-width: 820px;
}
.agreement ul {
  list-style: disc !important;
  margin: 0 0 12px 1.25em !important;
  padding: 0 !important;
}
.agreement li {
  margin: 0 0 10px !important;
  line-height: 1.5 !important;
  text-align: left !important;
}
.agreement li span {
  font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  color: #222222 !important;
}

/* Checkbox left of the agree label, not in the two-column field well */
.am-form .am-row[id^="row-_i_agree"] {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px;
  padding: 12px 8px !important;
}
.am-form .am-row[id^="row-_i_agree"] .am-element-title,
.am-form .am-row[id^="row-_i_agree"] .am-element {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}
.am-form .am-row[id^="row-_i_agree"] .am-element {
  order: 1;
}
.am-form .am-row[id^="row-_i_agree"] .am-element-title {
  order: 2;
  flex: 1 1 220px;
}
.am-form .am-row[id^="row-_i_agree"] input[type="checkbox"] {
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
}

/* agree-mobile-line — beat the generic display:block row rules */
@media (max-width: 767px) {
  .am-form .am-row[id^="row-_i_agree"] {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }
  .am-form .am-row[id^="row-_i_agree"] .am-element {
    display: block !important;
    width: auto !important;
    min-width: 24px !important;
    padding: 2px 0 0 !important;
    order: 1 !important;
  }
  .am-form .am-row[id^="row-_i_agree"] .am-element-title {
    display: block !important;
    width: auto !important;
    flex: 1 1 auto !important;
    padding: 0 !important;
    order: 2 !important;
    text-align: left !important;
  }
}

.agreement ul,
.agreement ul[dir="ltr"] {
  list-style: disc outside !important;
  margin-left: 1.25em !important;
}
.agreement li {
  display: list-item !important;
}

/* explicit agree-row ids from page-0 and page-1 */
#row-_i_agree-page-0-0-0,
#row-_i_agree-page-1-0-0,
.am-form .am-row[id*="_i_agree"] {
  display: grid !important;
  grid-template-columns: 28px 1fr !important;
  column-gap: 10px !important;
  align-items: start !important;
}
#row-_i_agree-page-0-0-0 > .am-element,
#row-_i_agree-page-1-0-0 > .am-element,
.am-form .am-row[id*="_i_agree"] > .am-element {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 28px !important;
  margin: 0 !important;
  padding: 4px 0 0 !important;
  float: none !important;
}
#row-_i_agree-page-0-0-0 > .am-element-title,
#row-_i_agree-page-1-0-0 > .am-element-title,
.am-form .am-row[id*="_i_agree"] > .am-element-title {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  text-align: left !important;
}

#fieldset-agreement .agreement ul,
#fieldset-agreement .agreement ul[dir] {
  list-style-type: disc !important;
  list-style-position: outside !important;
  padding-left: 1.2em !important;
}
#fieldset-agreement .agreement li {
  display: list-item !important;
  list-style-type: disc !important;
}

/* buttons-same-row */
#row-buttons .am-element.group {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
}
#row-buttons a[href*="_back"] {
  width: auto !important;
  flex: 0 0 auto;
}
#row-buttons input.am-cta-signup,
#row-buttons .am-cta-signup {
  width: auto !important;
  min-width: 120px;
  max-width: 200px;
  margin: 0 !important;
  flex: 0 0 auto;
}
@media (max-width: 767px) {
  #row-buttons input.am-cta-signup,
  #row-buttons .am-cta-signup {
    width: auto !important;
    max-width: 200px !important;
    margin: 0 !important;
  }
}

